1. 程式人生 > >【MySQL】Access denied for user '[email pr

【MySQL】Access denied for user '[email pr

這個問題折磨了我幾個小時,現在把解決的過程記錄一下,希望對其他也遇到這個問題的人有所幫助。

    我安裝的是MySQL5.7.14,在MySQL5.6之後root賬戶的預設密碼就不是空了,如果還是用空密碼登陸的話肯定一直報這個錯誤。要不就是忘記了安裝設定的密碼,要不就是自帶的密碼無從得知:Linux下有一個secret檔案記錄了系統初始的root密碼,但是win下找不到。解決辦法是首先設定-skip-grant-tables(取消許可權設定),連線上資料庫重置root賬戶的密碼。具體步驟如下:

1. 在my.ini檔案末尾加上-skip-grant-tables,儲存檔案。

2. 關閉MySQL服務,再啟動。

3. cmd下進入MySQL的bin資料夾下,執行 mysql -u root -p,這時候就可以不用密碼連線上伺服器,如果用Navicat檢視root使用者的話,可以看到root賬戶是有密碼的。     

 4.重置密碼,cmd下輸入use mysql,回車。輸入update user set authentication_string=password("newPassword") where user="root" ;這裡注意原來的mysql資料庫下password這個欄位已經沒了,改成了authentication_string。務必使用這個欄位。

      5. flush priviledges;exit;刪除my.ini檔案最後一行,儲存,停止服務再啟動服務,就可以用新修改的密碼登陸root賬戶了。