MySQL远程连接报错及解决方案
远程云主机搭建好MySQL数据库后,使用本地Navicat连接远程数据库报如下错误:
1130 - Host ‘XXXX’ is not allowed to connect to this MySQL server,如下图。
解决步骤如下:
- 连接服务器: mysql -u root -p
- 看当前所有数据库:show databases;
- 进入mysql数据库:use mysql;
- 查看mysql数据库中所有的表:show tables;
- 查看user表中的数据:select Host, User from user;
- 修改user表中的Host:update user set Host=‘%’ where User=‘root’;
- 最后刷新一下:flush privileges;
遇到上述问题首先到mysql所在的服务器上用连接进行处理,具体操作如下:
连接服务器:mysql -uroot -p
进入mysql数据库:use mysql;
查看user表中的数据:select Host, User from user;
可见root用户只有在本地才可连接MySQL,可以将Host改成通配符%即可解决。
修改user表中的Host:update user set Host=‘%’ where User=‘root’;
最后,刷新权限即可:flush privileges;
重新使用Navicat测试一下:
连接成功,完美解决。