mysql的root賬戶,我在連接時通常用的是localhost或127.0.0.1,公司的測試服務器上的mysql也是localhost所以我想訪問無法訪問,測試暫停.
解決方法如下:
1,修改表,登錄mysql數(shù)據(jù)庫,切換到mysql數(shù)據(jù)庫,使用sql語句查看"select host,user from user ;"
mysql -u root -pvmwaremysql>use mysql; mysql>update user set host = '%' where user ='root'; mysql>select host, user from user; mysql>flush privileges;
注意:最后一句很重要,目的是使修改生效.如果沒有寫,則還是不能進行遠程連接.
2,授權用戶,你想root使用密碼從任何主機連接到mysql服務器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'admin123' WITH GRANT OPTION; flush privileges;
如果你想允許用戶root從ip為192.168.1.104的主機連接到mysql服務器
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.104' IDENTIFIED BY 'admin123' WITH GRANT OPTION; flush privileges;
修改MySql密碼
在MySQL 5.7 password字段已從mysql.user表中刪除,新的字段名是“authenticalion_string”.
選擇數(shù)據(jù)庫:
use mysql;
更新root的密碼:
update user set authentication_string=password('新密碼') where user='root' and Host='localhost';
刷新權限:
flush privileges;
希望以上整理的內(nèi)容能夠幫助到大家,感謝大家對腳本之家的支持。