天天看點

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

今早打開電腦,開始-運作 輸入“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”,問題搞定!