使用MySQL Workbench遠端管理工具進行遠端管理Mysql的錯誤及解決辦法,mysqlworkbench
概述:
最近要使用MySQL Workbench遠端管理工具進行遠端管理虛擬機器上的MySQL。可是,在配置的過程中,遇到了一些問題,下面是這個問題(HOSt ip is not allowed to connect to this MySql server)的描述以及解決辦法。
筆者環境:
本地系統:Window 7
虛擬機器系統:CentOS 6.5
MySQL版本:mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1
MySQL Workbench版本:MySQL Workbench 6.2 CE
錯誤:
HOSt ip is not allowed to connect to this MySql server
解決過程:
對於這個問題,還是有糾結了一下的。因為我在為兩台虛擬機器添加遠端控制的時候,發現第一台可以過,而第二台怎麼都過不了。下面是我的處理過程:
上面的報錯資訊是因為我們的MySQL沒有提供遠端控制的服務。我們可以通過以下方法進行解決:
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.授權法:
例如,你想myuser使用mypassword從任何主機串連到mysql伺服器的話。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許使用者loginName從ip為192.168.1.6的主機串連到mysql伺服器,並使用Password作為密碼
mysql> GRANT ALL PRIVILEGES ON *.* TO 'loginName'@'192.168.1.6'IDENTIFIED BY 'Password' WITH GRANT OPTION;
我使用的是上一句。
mysql>FLUSH RIVILEGES;
3.另外一種方法:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
關鍵點:
本人沒有進行第3種方法,因為前兩種方法可以很好的解決問題。
不過對於改表法,我是沒有執行到第三步的。因為第二步就報錯了。好吧,那我就來嘗試一下授權法。授權法是可以的。就這樣我的第一台機器可以使用MySQL Workbench進行遠端管理了。
可是當我開始對我的第二台機器進行操作時,很不幸,沒能成功。原因是我以為改表法出現了Error就可以直接跳過了,直接進行授權法。可是,這是不行的。於是我改表法又操作了一遍,並且進行了第三步操作,我看到,實際上第二步是修改成功的。
就這樣我的兩台機器都可以通過MySQL Workbench進行遠端管理了。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。http://blog.csdn.net/lemon_tree12138