如何解决Mysql限制连接报1130的问题

一个新手
发布: 2017-09-09 14:27:20
原创
1713人浏览过

远程连接mysql服务器的数据库,错误代码是1130,error 1130: host xxx.xxx.xxx.xxx  is not allowed to connect to this mysql server
猜想两种原因:一个是因为mysql的限制,一个是防火墙的限制。
1.解决防火墙限制:
在mysql服务主机上将防火墙关闭或者在防火墙高级设置里面加入出入站规则,加上mysql的端口,允许通过mysql的端口进行访问主机。

修改防火墙配置  (系统不一样,防火墙配置文件不一样) 博主的是centos7下安装的iptables

$ vi /etc/sysconfig/iptables
登录后复制

打开后在配置文件中增加一行

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
登录后复制

然后保存并退出

重启防火墙(centos7)

systemctlrestart iptables.service
登录后复制

2.解决MySQL的限制,在MySQL服务主机上执行下列sql

在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称’%’即可

登录mysql

AI建筑知识问答
AI建筑知识问答

用人工智能ChatGPT帮你解答所有建筑问题

AI建筑知识问答 22
查看详情 AI建筑知识问答
mysql -u root -p
登录后复制

选择mysql数据库

mysql;use mysql;
登录后复制

查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

mysql;select 'host' from user where user='root';
登录后复制

修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
如果这步出错”ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’” 由说明该记录有了,跳过这步

mysql;update user set host = '%' where user ='root';
登录后复制

更改权限(root为账户名,%为主机名(任意主机),525099302为密码 密码可以自己选择

GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY "525099302";
登录后复制

刷新权限,mysql直接生效

flush privileges;
登录后复制

重起mysql服务即可完成。

以上就是如何解决Mysql限制连接报1130的问题的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号