阿里云ECS服务器,mysql 3306 无法外网访问

问题原因

未授权远程IP地址登录。root用户默认只能在localhost也就是本机登录

解决方案

  1. 在服务器上登录数据库,然后执行如下授权SQL语句。该授权SQL语句的含义为root用户可用任何IP地址登录数据库,操作任何数据库中的任何对象。

,故需要对其他IP地址进行授权。

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

参数说明如下。

  •  *.* 参数,第一个“*”为数据库占位符,如果填“*”则代表所有数据库。第二个“*”为数据库对象占位符,如果填“*”则代表数据库中所有对象。
  •  'root'@'%' 参数,root为授权登录的数据库账户,“%”为IP地址占位符。假如要限制只能在1.1.1.1登录,则需要把“%”改成1.1.1.1。如果填“%”则代表允许任何IP地址登录。
  •  '123456' 参数,该参数为数据库密码。

   2、执行如下SQL语句,刷新权限。

flush privileges;

  3、确认远程MySQL客户端可正常连接数据库。



快捷回帖