mysql解決無法遠程客戶端連接


1。 改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql后,更改 "mysql" 數據庫里的 "user" 表里的 "host" 項,從"localhost"改稱"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

 

 

 

 

2. 授權法。例如,你想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 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

 



我的mysql.user里root用戶的host果然是localhost,先用改表法給localhost改成“%”,還是不行,仍然報1130的錯 誤,又按“從任何主機連接到mysql服務器”方法授權,還是報一樣的錯,最后給自己的ip授權之后,終於登錄上了。。。。

總個全過程大致

進入Linux系統下的mysql數據庫中,打開user表,找到“host”字段值為“localhost”的記錄,將值“localhost”更新為“%”。 
命令如下: 
#mysql -u root -p 
Enter password: 
mysql>use mysql; 
mysql>update user set host='%' where user='root' and host='localhost'; 
mysql>select host,user from user; 

 

 

 

 

 

 

 MySQL 1130錯誤解決方法: 
通過MySQL-Front或MySQL administrator連接MySQL的時候發生的這個錯誤 

ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server 

 


說明所連接的用戶帳號沒有遠程連接的權限,只能在本機(localhost)登錄。 
需更改 MySQL 數據庫里的 user表里的 host項 
把localhost改稱% 

具體步驟:登陸到MySQL 
首先 use MySQL; 
按照別人提供的方式update的時候,出現錯誤。 

MySQL> update user set host='%' where user = 'root'; 
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 

 


然后查看了下數據庫的host信息如下: 

MySQL> select host from user where user = 'root'; 

 


+-----------------------+ 
| host | 
+-----------------------+ 
| % | 
| 127.0.0.1 | 
| localhost.localdomain | 
+-----------------------+ 
3 rows in set (0.00 sec) 
host已經有了%這個值,所以直接運行命令:

 

MySQL>flush privileges; 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM