问题描述

1
1130 - Host 'my.lan' is not allowed to connect to this MySQL server

无法连接至远程mysql服务器,提示Host 'my.lan' is not allowed to connect to this MySQL server

解决方法

1.mysql配置问题

可能是mysql配置问题导致不允许远程连接,下面提供两种方式解决

  1. 命令行修改权限
    ssh或rdp进入服务器,root用户下执行mysql -u root -p输入密码,连接到mysql服务器

更改用户权限以允许远程连接:在MySQL命令行中,运行以下命令,其中 userpassword 修改为你允许远程连接的用户名和密码:
以下为mysql8.0版本的命令,mysql5.7版本的命令有所不同

1
2
3
CREATE USER 'user'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';
FLUSH PRIVILEGES;
  1. 修改mysql配置文件
    找到mysql配置文件,一般在/etc/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf
    搜索bind-address关键字,将bind-address改为0.0.0.0即可允许远程连接
1
bind-address = 0.0.0.0

2.防火墙问题

可能是防火墙问题导致不允许远程连接
查看防火墙状态

1
systemctl status firewalld.service

开启防火墙

1
systemctl start firewalld.service

允许mysql端口

1
2
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

重启mysql服务

1
systemctl restart mysqld.service