ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)


錯誤原因1:用戶名和密碼輸入錯誤

如果確定是這個錯誤,重新輸入下用戶名和密碼就行了。 如果用戶名和密碼忘記了,不要慌,參考下面

首先進入到 my.cnf里面添加一個跳過權限驗證的命令

vim /etc/my.cnf

添加skip-grant-tables,這樣再次登陸就不用輸入密碼,直接回車就進入數據庫了。

 

 添加完后按esc建,然后輸入:wq,進行保存退出

修改完配置文件后,注意重啟下服務才能生效

 service mysqld restart

然后登陸試試

然后進入到mysql數據庫

use mysql;  --注意后面分號

show tables;

可以看到有一張user表,這個表里面就存的用戶的登陸信息,我們查看一下user表里面都有啥字段

desc user;

 然后使用命令直接修改密碼就行了,這里我修改root用戶密碼為123456為例

update user set authentication_string=password('123456') where user='root';

然后退出mysql,重啟mysql服務

quit;

service mysqld restart

再次使用用戶名和密碼登陸即可。

錯誤原因2:root用戶權限不足導致的

這個我參考博客設置的。

根據上一個問題原因設置skip-grant-tables 后,進入數據庫使用如下命令即可

grant all privileges on *.* to 'root'@'%' identified by '123456';  

root是登陸用戶,%代表的是所有ip地址都能訪問, 最后就是密碼。 grant是同意的意思,privileges是特權的意思,這句話就是授予root用戶能在任何ip使用123456密碼訪問。


免責聲明!

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



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