遠端連線mysql時,提示“is not allowed to connect to this MySQL server”的解決方案,mysqlallowed
ERROR 1130: Host ’192.168.1.3′ is not allowed to connect to this MySQL server這是告訴你沒有許可權串連指定IP的主機,下面我們來看看解決辦法。
處理方法有二個
1、(如何解決用戶端與伺服器端的串連(mysql) :xxx.xxx.xxx.xxx is not allowed to connect to this mysql serv
) 授權法。例如,你想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; |