远程连接mysql数据库报错“1130-Host is not allowed to connect to this MYSQL server”
发布时间: 2022-04-22 11:41:39文章作者: 网站编辑阅读量: 222
远程连接mysql数据库报错“1130-Host is not allowed to connect to this MYSQL server”
分析:从硬件和软件两个方面考虑
首先ping一下,判断服务器是否正常启动
再检查端口是否开启,nmap -p 3306 ip
如果端口没有启动(filtered),则可能是服务器内部防火墙和安全组没有对3306端口放行,需要关闭服务器内部防火墙或者放行端口,还要设置安全组
linux放行3306端口:firewall-cmd --permanent --add-port=3306/tcp
如果端口为open状态,则可能就是mysql不允许远程登录,按照以下步骤解决:
原因:可能是你的root帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入MySQL后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从"localhost“改称”%"
参考阿里云文档:https://developer.aliyun.com/article/534356
实现步骤:
方法一:改表法:https://www.cnblogs.com/youqc/p/10476605.html
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
刷新:mysql>flush privileges;
方法二:授权法
设置为所有设备可以连接:
mysql>GRANT ALL PRIVILEGES ON 数据库名。* TO root@"%" IDENTIFIED BY “密码”;
设置指定IP主机可以连接:
mysql>GRANT ALL PRIVILEGES ON 数据库名。* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;