mysql的root賬戶,我在連線時通常用的是localhost或127.0.0.1,公司的測試伺服器上的mysql也是localhost所以我想訪問無法訪問,測試暫停.
解決方法如下:
1,修改表,登入mysql資料庫,切換到mysql資料庫,使用sql語句檢視"select host,user from user ;"
navicate右鍵->命令列介面 輸入命令
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user ='root';
mysql>select host, user from user;
mysql>flush privileges;
注意:最後一句很重要,目的是使修改生效.如果沒有寫,則還是不能進行遠端連線.
執行完以後檢視如下:
總結:
root@% 表示可以從任何IP用root登入到mysql;
root@localhost表示使用者僅僅能從本機(localhost或者127.0.0.1)登入到mysql
2,授權使用者,你想root使用密碼從任何主機連線到mysql伺服器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'admin123' WITH GRANT OPTION;
flush privileges;
"admin123"為密碼。