安裝完MySQL後,遠程鏈接數據庫的時候,出現 ERROR 1130 (HY000): Host '192.168.56.102' is not allowed to connect to this MySQL server提示信息,不能遠程鏈接數據庫。 mysql
一、更改環境mysql系統host環境變量值:(不推薦) sql
考慮多是由於系統數據庫mysql中user表中的host是localhost的緣由,因而,我嘗試把這個值改成本身服務器的ip,果真就好用了,不過用 mysql -u root -p命令就連不上數據庫了,須要用mysql -h 服務器ip -u root -p由於默認的鏈接mysql數據庫user表中host的值,而這個命令的默認host是localhost,就連不上了。 數據庫
具體操做方法: 安全
用localhost鏈接上mysql後, 服務器
use mysql; update user set host='123.456.789.254';(IP爲你想要遠程鏈接數據庫的本地機器的IP) \q;
退出mysql,而後從新啓動mysql就能夠了。 this
其餘解決方案 code
2. 改表法。多是你的賬號不容許從遠程登錄,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改 "mysql" 數據庫裏的 "user" 表裏的 "host" 項,從"localhost"改稱"%" server
mysql -u root -pvmware mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>flush privileges; mysql>select host, user from user;
3. 受權法。例如,你想myuser使用mypassword從任何主機鏈接到mysql服務器的話。 ip
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 'myuser'@'192.168.0.1' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
四、順便提下另外一個錯誤碼:1045錯誤的解決方案 class
在安裝完MYSQL後,初次使用PHP聯接數據,系統報1045錯誤說明你沒有將權限下放到遠端鏈接賬戶上,因爲mysql的安全性在不斷的提升,權限設置默認是拒絕的,你必須本身開放權限。
在服務器上用
mysql -h 192.168.0.1 -u root -p #mysql命令登陸mysql數據庫。而後用grant命令下放權限。 GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'root-password' WITH GRANT OPTION;