ERROR 1130: Host '10.108.38.240' is not allowed to connect to this MySQL server 原因是mysql沒有開放權限連接配接指定IP的主機,下面我們來看看解決辦法。
處理方法有二個
1、授權法。例如,你想myuser使用mypassword從任何主機連接配接到mysql伺服器的話。
代碼如下 | 複制代碼 |
GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@'%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION; |
如果你想允許使用者myuser從ip為192.168.1.3的主機連接配接到mysql伺服器,并使用mypassword作為密碼
代碼如下 | 複制代碼 |
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.1.3′ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO ‘root’@’10.10.40.54′ IDENTIFIED BY ’123456′ WITH GRANT OPTION; |
2、 改表法。可能是你的帳号不允許從遠端登陸,隻能在localhost。這個時候隻要在localhost的那台電腦,登入mysql後,更改 “mysql” 資料庫裡的 “user” 表裡的 “host” 項,從”localhost”改稱”%”
這個是因為權限的問題,處理方式如下:
代碼如下 | 複制代碼 |
shell>mysql --user=root -p |
輸入密碼
代碼如下 | 複制代碼 |
mysql>use mysql mysql>GRANT SELECT,INSERT,UPDATE,DELETE ON [db_name].* TO [username]@[ipadd] identified by '[password]'; |
[username]:遠端登入的使用者代碼
[db_name]:表示欲開放給使用者的資料庫稱
[password]:遠端登入的使用者密碼
[ipadd]:IP位址或者IP反查後的DNS Name,此例的内容需填入'60-248-32-13.HINET-IP.hinet.net' ,包函上引号(')
(其實就是在遠端伺服器上執行,位址填寫本地主機的ip位址。)
也可以這樣寫
代碼如下 | 複制代碼 |
mysql -u root -pvmwaremysql>use mysql; mysql>update user set host = ‘%’ where user = ‘root’; mysql>select host, user from user; |