Mysql Error:ERROR 1130 (HY000): Host '${url}'解決方案

安裝完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;
相關文章
相關標籤/搜索