在登錄數據庫過程中,如果遇到忘記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密碼登錄不成功的解決辦法!
免費資源大放送關注微信公眾號領取: