用本地的Navicat连接linux服务器的mysql时,出现这个错误
ERROR 1130: Host ‘192.168.147.1’ is not allowed to connect to this MySQL server

解决办法

  1. 确认防火墙已经关闭
    关闭防火墙指令
    systemctl stop firewalld.service
    开启防火墙指令
    systemctl start firewalld.service
    查看防火墙运行状态(not running表示关闭,running表示开启)
    firewall-cmd --state
    但是总不能一直把防火墙处于关闭状态吧,这样也不安全,我们只需要把防火墙允许mysql访问端口3306打开即可
    执行命令,看到success字样就表明添加成功
    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    然后重新启动防火墙,看到success字样就表明重启成功
    firewall-cmd --reload
    最后可以输入命令验证3306端口打开是否生效,看到yes及表示生效
    firewall-cmd --zone=public --query-port=3306/tcp

  2. 权限不足问题
    第一步:重启mysql服务
    service mysql restart
    第二步:进入mysql的bin目录下,输入命令,在输入密码,进入mysql
    mysql -u root -p
    第三步:输入,意思就是给IP-xxx.xxx.xxx.xxx赋予了所有的权限,包括远程访问权限,%百分号表示允许任何IP访问数据库
    grant all privileges on *.* to root@"%" identified by "密码"
    第四步:输入命令,重新加载权限
    flush privileges
    最后:重启mysql服务即可
    service mysql restart

  3. 在阿里云服务器的安全组配置里面添加3306端口的入口规则

成功做到上面三步之后,就可以用Navicat连接服务器的mysql了
亲试有效

Logo

更多推荐