在咱們使用mysql數據庫時,有時咱們的程序與數據庫不在同一機器上,這時咱們須要遠程訪問數據庫。缺省狀態下,mysql的用戶沒有遠程訪問的權限。下面介紹兩種方法,解決這一問題。mysql
一、改表法
多是你的賬號不容許從遠程登錄,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改 "mysql" 數據庫裏的 "user" 表裏的 "host" 項,從"localhost"改稱"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
二、受權法
在安裝mysql的機器上運行:
一、d:\mysql\bin\>mysql -h localhost -u root
//這樣應該能夠進入MySQL服務器
二、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
//賦予任何主機訪問數據的權限
例如,你想myuser使用mypassword從任何主機鏈接到mysql服務器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI
TH GRANT OPTION;
若是你想容許用戶myuser從ip爲192.168.1.6的主機鏈接到mysql服務器,並使用mypassword做爲密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
三、mysql>FLUSH PRIVILEGES
//修改生效
四、mysql>EXIT
退出MySQL服務器,這樣就能夠在其它任何的主機上以root身份登陸sql