在我們使用mysql數(shù)據(jù)庫(kù)時(shí),,有時(shí)我們的程序與數(shù)據(jù)庫(kù)不在同一機(jī)器上,這時(shí)我們需要遠(yuǎn)程訪問(wèn)數(shù)據(jù)庫(kù),。缺省狀態(tài)下,,mysql的用戶沒(méi)有遠(yuǎn)程訪問(wèn)的權(quán)限,。下面介紹兩種方法,解決這一問(wèn)題,。
1,、改表法
可能是你的帳號(hào)不允許從遠(yuǎn)程登陸,只能在localhost,。這個(gè)時(shí)候只要在localhost的那臺(tái)電腦,,登入mysql后,更改 "mysql" 數(shù)據(jù)庫(kù)里的 "user" 表里的 "host" 項(xiàng),,從"localhost"改稱(chēng)"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2,、授權(quán)法
在安裝mysql的機(jī)器上運(yùn)行:
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)限
例如,,你想myuser使用mypassword從任何主機(jī)連接到mysql服務(wù)器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI
TH GRANT OPTION;
如果你想允許用戶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;
3,、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
退出MySQL服務(wù)器,,這樣就可以在其它任何的主機(jī)上以root身份登錄