天天看點

解決win10下MySQL 5.7.22登入Access denied for user 'root'@'localhost' (using password: YES)的問題

這是一個漫長曲折的過程,網上資料查了不少,大都不适合,寫一下,希望後來者少遇到坑。。

1.首先停mysql服務,進入到mysql安裝bin目錄下,net stop mysql;也可以直接任務管理器-->服務-->右擊停止(因為公司限制,沒有administrator權限,誰敢相信這一步都如此蛋疼)

2.打開第一個cmd1視窗,切換到mysql的bin目錄,運作指令:

mysqld --defaults-file="C:\yourmysqllocation\my.ini" --console --skip-grant-tables

注釋:

該指令通過跳過權限安全檢查,開啟mysql服務,這樣連接配接mysql時,可以不用輸入使用者密碼。  此時已經開啟了mysql服務了!

這個視窗保留 不關閉。(我在網上查有說在my.ini配置檔案中加skip-grant-tables,我在嘗試的時候會報錯)

3、打開第二個cmd2視窗,連接配接mysql:

輸入指令:

mysql -u root -p

出現:

Enter password:

在這裡直接回車,不用輸入密碼。

然後就就會出現登入成功的資訊, 

 使用指令:

show databases;

使用指令切換到mysql資料庫:

use mysql;

使用指令更改root密碼:

update user set authentication_string = password('123456'), password_expired = 'N', password_last_changed = now() where user = 'root';

重新整理權限:

FLUSH PRIVILEGES;

然後退出,重新登入: 

quit

重新登入: 可以關掉之前的cmd1 視窗了。然後用net start mysql 啟動服務

mysql -u root -p

出現輸入密碼提示,輸入新的密碼即可登入:

Enter password: ***********

顯示登入資訊: 成功  就一切ok了

繼續閱讀