首頁  >  文章  >  資料庫  >  如何解決Mysql限制連線報1130的問題

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

一个新手
一个新手原創
2017-09-09 14:27:201438瀏覽

遠端連接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

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn