1130 - Host XXX is not allowed to connect to this MySQL server 错误提示的解决办法。

当使用Navicat尝试连接CentOS7上的MySQL服务器遇到1130错误时,问题在于权限设置。首先尝试通过在my.cnf中添加skip-grant-tables跳过权限验证以确认问题源头。然后,通过登录MySQL并更新root用户的host字段为%,允许所有主机访问,执行flushprivileges使更改生效,从而解决连接问题。如果需要,可重启mysqld服务以确保配置更新。
摘要由CSDN通过智能技术生成

1130 - Host XXX is not allowed to connect to this MySQL server 错误提示的解决办法。


问题描述:

在使用navicat连接虚拟机(centos7)内部的mysql时,测试连接报错1130,且当前防火墙处于关闭状态、mysql服务处于启动状态、测试连接的ip以及主机密码都没有输错。

问题解决:

  • 一开始的解决办法是直接在mysql的配置文件里面跳过权限认证,即不需要输入密码就能访问mysql。再测试连接,果然连接成功。

    vi /etc/my.cnf
    

    文件末尾添加

    skip-grant-tables
    
  • 后来经过分析,发现既然跳过权限可以成功访问,说明原因不在于外部及其mysql本身上,问题就在于权限上面。那我就先查询一下当前root用户的访问权限,具体步骤如下

    1. 进入mysql mysql -u root -p 输入密码。

    2. 使用mysql 数据库 use mysql;

    3. 查询当前用户权限 select user,host from user;

      查询结果我当时是 root对应的localhost ,意思是只有本地主机访问mysql的连接,那么虚拟机之外的访问自然就不行,所以需要将这个localhost修改为 所有主机都能访问,具体如下

    4. 更新语句 update user set host = '%' where user = 'root';

    5. 更新完之后,要使配置生效,即刷新权限。 flush privileges;

    6. 到目前为止,我遇到的这个问题就完美解决了,不放心的话可以重启mysql服务试试。重启命令 systemctl restart mysqld

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值