今天在虛擬機操作數據庫發現程序拋出了異常,一開始以爲是防火牆阻擋。
因此我本人關掉了所有的防火牆,之後再進行測試發現還是不行。
於是我自己查找問題,藉助百度找到了mysql數據庫連接不上的錯誤原因。
當然答案網上已經有了,我自己編輯在此,給自己加深印象,也方便部分網友。
ERROR 1130 (HY000): Host '172.16.0.123' is not allowed to connect to this MySQL server
解決方法:
1 改表法。
可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改 "mysql" 數據庫裏的 "user" 表裏的 "host" 項,從"localhost"改稱"%"
mysql >use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
這個方式就不測試了,自己可以手動嘗試。
2 權限授予
我測試了兩個地址IP均可以。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.0.123' IDENTIFIED BY 'xxx' WITH GRANT OPTION;
FLUSH PRIVILEGES;