Access denied for user 'root'@'localhost' (using password:YES) 解決方案[轉]


關於昨天下午說的MySQL服務無法啟動的問題,解決之后沒有進入數據庫,就直接關閉了電腦。

今早打開電腦,開始-運行 輸入“mysql -uroot -pmyadmin”后出現以下錯誤:
“Access denied for user 'root'@'localhost' (using password:YES)”
直接輸入“mysql” 也回報類似的錯誤:應該是:
“Access denied for user 'ODBC'@'localhost' (using password:NO)”具體的不記得了,貌似是這個。
 
關於這個問題,找了很久的解決方案,也換了盤符重裝了好幾次,問題依舊。
有網上說打開MySQL 的 MySQL 5.5 Command Line Client,在里面進行一系列的操作即可。但是此界面進來就要輸入密碼:
 
無論輸入什么都直接退出。沒撤了。
(哦,對了,期間,我還試過,在安裝MySQL的時候不設置密碼。安裝成功后,還是報錯。)
網上看了一大堆的解決辦法,都不行。最后,結合一些辦法,終於解決問題了。至於我的做法對不對?我不知道,但是確實解決了問題。也許還有其他的更好的解決方案,如果兄弟姐妹們知道的話,希望也能與我分享一下,不勝感激。
 
解決方案:
1、打開MySQL目錄下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存並關閉文件。
2、重啟MySQL服務。
3、在命令行中輸入“mysql -uroot -p”(不輸入密碼),回車即可進入數據庫。
4、執行,“use mysql;”使用mysql數據庫。
5、執行,“update user set password=PASSWORD("rootadmin") where user='root';”(修改root的密碼)
(期間我還select下user表中的記錄,查詢全部的時候顯示了一些亂碼,然后我只查詢了user表中的Host、User、Password字段,貌似當時顯示了3條記錄,有1個沒有名稱。當然,為了解決問題,這些我也管不了了。)
6、打開MySQL目錄下的my.ini文件,刪除最后一行的“skip-grant-tables”,保存並關閉文件。
7、重啟MySQL服務。
8、在命令行中輸入“mysql -uroot -prootadmin”,問題搞定!


免責聲明!

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



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