一開始懷疑是數(shù)據(jù)庫中只有127.0.0.1的記錄,沒有l(wèi)ocalhost的記錄,但是,實(shí)際上不是這樣的。
mysql> select host,user,authentication_string from user;
+-----------+------------+-------------------------------------------+
| host | user | authentication_string |
+-----------+------------+-------------------------------------------+
| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| 127.0.0.1 | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+------------+-------------------------------------------+
3 rows in set (0.00 sec)
很明顯,用戶root存在兩條記錄,host分別是localhost和127.0.0.1,密碼也是一致的,那就排除了密碼輸錯(cuò)的原因了。經(jīng)過不斷的探索,最后終于解決了問題。
運(yùn)行以下語句:
grant all privileges on *.* to root@'localhost' identified by '相應(yīng)的密碼' with grant option;
最后再執(zhí)行一下語句
flush privileges;
問題解決了。