1.问题
1130 - Host '220.45.44.42’is not allowed to connect to this MysQL server
我这里是用docker,把mysql添加到自己设置的网关中,此时有两个网关。然后navicat连接mysql的时候报这个错。一开始我看着这个有点懵,因为我的云服务器ip和这个是不一样的,然后就去百度找解决方案。
2.可能出问题的地方
①:去安全组里面看端口有没有开放(一般是3306)。
②:mysql当前账号只允许本地连接
3.问题解决
①:去安全组里面看端口有没有开放(一般是3306)。
没开启的话就点击“手动添加”按钮进行添加
②:mysql当前账号只允许本地连接
<1>先进入mysql容器(没用docker的省略下面第<1>步即可)
docker exec -it mysql bash
<2>再登录mysql
mysql -uroot -p(你的数据库密码)

<3>切换到mysql数据库
use mysql;
<4>查询数据库root用户host配置(select host from user where user='root';)
如果root用户的host是localhost或者127.0.0.1就需要进行修改

<5>修改root用户host
如果root用户host配置的是localhost或者127.0.0.1,就将host修改为%;
最后刷新权限,就可以连接了。
命令:
update user set host = '%' where user = 'root';
select host, user from user;
flush privileges;

然后再使用navicat连接就可以连接成功了

文章讲述了在使用Docker部署MySQL时,遇到连接Navicat失败的问题,原因可能是安全组未开放3306端口和root用户只允许本地连接。解决方案包括检查并开放安全组,以及在MySQL容器内修改root用户host为%以允许远程连接。
757





