天天看點

mysql重設密碼的艱辛經曆

MYSQL8.0以上版本ROOT密碼報錯及修改

在登入資料庫過程中,如果遇到忘記root密碼時,該如何解決?

1.使用管理者權限打開指令提示符,在指令行中輸入: net stop mysql

2.待mysql服務停止後,輸入: mysqld --shared-memory --skip-grant-tables ,此時指令提示符視窗處于鎖定狀态,我們重新以管理者權限打開新的指令提示符視窗。

3.在新的指令提示符視窗輸入: mysql -uroot -p 後回車,提示輸入密碼時直接按回車進入。

4.輸入: use mysql;

5.輸入: update user set authentication_string=’’ where user=‘root’; ,将authentication_string置空。

注:在mysql8.0以上版本,

update mysql.user set password=‘newpassword’ where user=‘root’;

update mysql.user set password=PASSWORD(‘newpassword’) where User=‘root’; 這兩條指令已經不起作用了。

6.輸入: alter user ‘root’@‘localhost’ identified by ‘newpassword’; newpassword是要設的新密碼。

7.如果提示設定成功,則輸入: flush privileges; 。完成後Ctrl+Z退出mysql,使用新密碼重新登入即可。

注:此步驟切不可省略!!!

8.如果提示不成功,則關閉兩個指令提示符,重新打開一個管理者權限的指令提示符視窗,輸入: mysql -uroot -p 後回車,輸入密碼時直接按回車進入(因為此時密碼已被置空)。

9.重複步驟4,步驟6,步驟7。

10.如果使用Navicat等可視化界面連接配接資料庫時連接配接不成功的情況,如錯誤資訊:2059。此時需要更改驗證方式,使用指令提示符登入資料庫,輸入: ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘yourpassword’; yourpassword是你想要設定的密碼。

11.提示成功後,重複步驟7,再次打開Navicat連接配接即可。

以上為mysql 8.0版本以上,忘記root密碼或使用root密碼登入不成功的解決辦法!

繼續閱讀