使用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 | mysql> update user set host='%' where user='root'; |
5.授权用户
任意主机以用户root和密码mypwd连接到mysql服务器
1 | mysql> GRANT ALL PRIVILEGES ON . TO ‘root‘@’%’ IDENTIFIED BY ‘mypwd’ WITH GRANT OPTION; |
方案二
1、登录数据库
1 | mysql -u root -p xxxx |
2、进入mysql
1 | mysql> use mysql; |
3、输入以下命令
1 | mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; |
####以上方案做了之后,有可能发现还是没有设置成功,需通过如下排查:
- 如果是阿里云服务器,需要在网络安全组设置数据库对应的端口的入口和出口;
- 检查服务器上面的端口占用情况;
- 新开的主机,需要将高级安全模式和防火墙关闭,否则,数据进不来