十二 、MySql密碼忘了怎么修改(mysql8.0.20)
參考博客: https://blog.csdn.net/csdnzhiwang/article/details/103375413
mysql8.x已經不支持在my.ini中加入skip-grant-tables來跳過密碼了
1.整個過程中需要用的主要命令
(1).關閉mysql服務(注意:mysql8020是服務器名,一般為mysql,我的是mysql8020)
net stop mysql8020
(2).進入mysql時跳過密碼驗證
mysqld --console --skip-grant-tables --shared-memory
(3).設置登錄密碼為空
UPDATE USER SET AUTHENTICATION_STRING = '' WHERE USER = 'root';
(4).修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345';
(5).刷新MySQL的系統權限相關表
FLUSH PRIVILEGES;
2.具體操作過程
(1)以管理員身份打開命令行,並進入mysql目錄下的bin目錄下,我的目錄地址為E:\Program\mysql-8.0.20-winx64\bin(如果已經配置環境變量,這步可以省略,下面的步驟中也一樣)
(2)關閉mysql服務(我的mysql服務器名為mysql8020,如果安裝時沒有自己特別命名,默認為mysql關閉服務輸入net stop mysql),並輸入跳過密碼的命令
補充:
(3)新打開一個命令窗口(上面那個窗口不要關閉), 按第一步進入bin目錄后,輸入mysql,即可免密碼進入數據庫
(4)切換數據庫后,輸入跳過密碼的命令,如下:
(5)關閉(2)步中的命令窗口,然后啟動mysql服務
(6)通過mysql -uroot -p登錄mysql,不用輸入密碼,直接回車,進入后,即可修改密碼
(7)修改密碼,然后刷新MySQL的系統權限相關表,即可用新密碼登錄數據庫