解決方法:?
?
1. 改表法。?
?
可能是你的帳號(hào)不允許從遠(yuǎn)程登陸,只能在localhost。這個(gè)時(shí)候只要在localhost的那臺(tái)電腦,登入mysql后,更改 "mysql"?
數(shù)據(jù)庫(kù)
里的 "user" 表里的 "host" 項(xiàng),從"localhost"改稱"%"?
?
mysql
?-u root -pvmwaremysql>use mysql; ? www.2cto.com ?
?
mysql>update user set host = '%' where user = 'root';?
?
mysql>select host, user from user;?
?
2. 授權(quán)法。?
?
例如,你想myuser使用mypassword從任何主機(jī)連接到mysql服務(wù)器的話。?
?
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;?
?
FLUSH ? PRIVILEGES;?
?
如果你想允許用戶myuser從ip為192.168.1.6的主機(jī)連接到mysql服務(wù)器,并使用mypassword作為密碼?
?
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; ? www.2cto.com ?
?
FLUSH ? PRIVILEGES;?
?
如果你想允許用戶myuser從ip為192.168.1.6的主機(jī)連接到mysql服務(wù)器的dk數(shù)據(jù)庫(kù),并使用mypassword作為密碼?
?
GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;?
?
FLUSH ? PRIVILEGES;?
?
我用的第一個(gè)方法,剛開始發(fā)現(xiàn)不行,在網(wǎng)上查了一下,少執(zhí)行一個(gè)語(yǔ)句 mysql>FLUSH RIVILEGES 使修改生效.就可以了?
?
另外一種方法,不過(guò)我沒有親自試過(guò)的,在csdn.net上找的,可以看一下.?
?
在安裝mysql的機(jī)器上運(yùn)行: ? www.2cto.com ?
?
1、d:\mysql\bin\>mysql ? -h ? localhost ? -u ? root //這樣應(yīng)該可以進(jìn)入MySQL服務(wù)器?
?
2、mysql>GRANT ? ALL ? PRIVILEGES ? ON ? *.* ? TO ? 'root'@'%' ? WITH ? GRANT ? OPTION //賦予任何主機(jī)訪問(wèn)數(shù)據(jù)的權(quán)限?
?
3、mysql>FLUSH ? PRIVILEGES //修改生效?
?
4、mysql>EXIT //退出MySQL服務(wù)器?
?
這樣就可以在其它任何的主機(jī)上以root身份登錄啦!?
message from server: "Host 'xxx' is not allowed to connect to this MySQL server的解決