0%

mysql设置外网ip访问

使用mysql的过程中,可能会遇到这样的问题:在服务器上安装了mysql之后,使用其他工具在外网ip之下连接不上mysql,以下是解决方案:

方案一

1、登录数据库

1
mysql -u root -p xxxx

2、选择mysql数据库

1
mysql> use mysql;

3、查询host

1
mysql> select user,host from user;

4、创建host

如果没有”%”这个host值,就执行下面这两句:

1
2
mysql> update user set host='%' where user='root';
mysql> flush privileges; //刷新权限

5.授权用户

任意主机以用户root和密码mypwd连接到mysql服务器

1
2
mysql> GRANT ALL PRIVILEGES ON . TO ‘root‘@’%’ IDENTIFIED BY ‘mypwd’ WITH GRANT OPTION;
mysql> flush privileges; //刷新权限

方案二

1、登录数据库

1
mysql -u root -p xxxx

2、进入mysql

1
mysql> use mysql;

3、输入以下命令

1
2
3
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

####以上方案做了之后,有可能发现还是没有设置成功,需通过如下排查:

  • 如果是阿里云服务器,需要在网络安全组设置数据库对应的端口的入口和出口;
  • 检查服务器上面的端口占用情况;
  • 新开的主机,需要将高级安全模式和防火墙关闭,否则,数据进不来