如何解決Mysql限制連接報1130的問題

遠程連接mysql服務(wù)器的數(shù)據(jù)庫,錯誤代碼是1130,error 1130: host xxx.xxx.xxx.xxx ?is not allowed to connect to this mysql server
猜想兩種原因:一個是因為mysql的限制,一個是防火墻的限制。
1.解決防火墻限制:
在mysql服務(wù)主機上將防火墻關(guān)閉或者在防火墻高級設(shè)置里面加入出入站規(guī)則,加上mysql的端口,允許通過mysql的端口進行訪問主機。

修改防火墻配置 ?(系統(tǒng)不一樣,防火墻配置文件不一樣) 博主的是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服務(wù)主機上執(zhí)行下列sql

在本機登入mysql后,更改 “mysql” 數(shù)據(jù)庫里的 “user” 表里的 “host” 項,從”localhost”改稱’%’即可

登錄mysql

mysql?-u?root?-p

選擇mysql數(shù)據(jù)庫

mysql;use?mysql;

查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)

mysql;select?'host'?from?user?where?user='root';

修改host值(以通配符%的內(nèi)容增加主機/IP地址),當然也可以直接增加IP地址
如果這步出錯”ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’” 由說明該記錄有了,跳過這步

mysql;update?user?set?host?=?'%'?where?user?='root';

更改權(quán)限(root為賬戶名,%為主機名(任意主機),525099302為密碼 密碼可以自己選擇

GRANT?ALL?PRIVILEGES?ON?*.*?TO?root@'%'?IDENTIFIED?BY?"525099302";

刷新權(quán)限,mysql直接生效

flush?privileges;

重起mysql服務(wù)即可完成。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊11 分享