MySQL root密碼正確,卻無法從本地登錄MySQL


MySQL root確定是正確,卻怎么也無法從本地登錄MySQL,提示

1 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES); 回想曾經做過的操作,結合網上的資料終於找到原因:

 

mysql庫中的user表缺少一個root指向host:localhost的數據項,只有一個root指向host:主機名的數據項,故怎么也無法利用root賬戶登錄MySQL

 

解決方法如下:

 

密碼正確的情況下,mysql數據庫已經禁止了root用戶在本地的登錄權限了。

使用root用戶通過主機127.0.0.1登錄就可以正常進入mysql,127.0.0.1和localhost對mysql數據庫來講是不同的主機,

[root@228827 ~]# mysql -uroot -p123456 -h 127.0.0.1

 

登陸成功

 

mysql> use mysql

Database changed

mysql> select user,host,password from user where user='root';

+——+——————-+——————————————-+

| user | host | password |

+——+——————-+——————————————-+

| root | host | *A50E066E106320CF4142 |

| root | 127.0.0.1 | *A50E066E1063608320CF4142 |

+——+——————-+——————————————-+

3 rows in set (0.12 sec)

 

發現user表host字段中沒有localhost

接下來的修改很明顯了:

代碼如下

mysql> update user set host='localhost' where user='root' and host='host';

mysql> flush privileges;

OK,退出mysql,重啟mysql就解決問題了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM