阿里云代理商-阿里云服务器-阿里云数据库-重庆典名科技

远程连接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;
联系客服免费领取更多阿里云产品新购、续费升级折扣,叠加官网活动折上折更优惠