用navicat連接遠程mysql數據庫時,有時會出現“navicat for mysql 1130錯誤”,提示錯誤內容為不允許連接mysql服務。很多人都以為是防火墻在作怪,其實關掉防火墻依然不能解決這個問題,本教程將為大家介紹navicat for mysql 1130錯誤的解決方法。
問題描述:
Error No.1130 Host ‘192.168.25.3’ is not allowed to connect to this MySQL server
相關推薦:《Navicat for mysql使用圖文教程》
原因分析:
MySQL只有一個root用戶,修改root密碼后選了MD5,提交后重新登陸就會出現Host ‘localhost’ is not allowed to connect to this MySQL server”錯誤提示。
解決方法:
1. 改表法
可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那臺電腦登入MySQL后,更改”MySQL”數據庫”user”表里的”host”項,將”localhost”改成”%”
mysql -u root -pvmwaremysql>usemysql;mysql>update user set host = ‘%’ where user =’root’;mysql>select host, user from user;
2. 授權法
例如,如果myuser使用mypassword從任何主機連接到mysql服務器。? GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY ‘mypassword’ WITHGRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.3的主機連接到mysql服務器,并使用mypassword作為密碼。
GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY’mypassword’ WITH GRANT OPTION;
如果改表法行不通的話,需要添加一個語句:mysql>FLUSH RIVILEGES 使修改生效.就可以了。
3. 修改權限法
在安裝MySQL的機器上運行:
d:/mysql/bin/>mysql?? -h?? localhost?? -u?? root? //進入MySQL服務器
mysql>GRANT?? ALL?? PRIVILEGES?? ON?? *.*?? TO?? ‘root’@’%’?? WITH?? GRANT?? OPTION? //賦予任何主機訪問數據的權限
mysql>FLUSH?? PRIVILEGES? //修改生效
mysql>EXIT? //退出MySQL服務器
這樣就可以在其它任何的主機上以root身份登錄。