利用 --init-file
引數
該引數指定服務啟動時先執行一個包含
sql
命令檔案,因此,只需要將重置密碼的命令寫在該檔案中,以此引數指定啟動時執行該命令,啟動完成即可重置系統密碼了。
- 關閉
mysql
服務:net stop mysql
- 建立一個文字檔案,內含一條密碼修改命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '';
- 命令列方式啟動伺服器,指定啟動時執行上述的密碼修改命令檔案:
mysqld --init-file={path}/test.txt --console
如果關閉該命令列,則需以管理員身份執行命令列,開啟
mysql
服務:net start mysql
- 另開命令列,執行
mysql -u root -p
,提示輸入密碼直接回車,即可登入mysql
服務 - 修改密碼:
ALTER USER "root"@"localhost" IDENTIFIED BY "新密碼";
利用 --skip-grant-tables
引數
- 關閉
mysql
服務:net stop mysql
- 無密碼啟動服務:
mysqld --console --skip-grant-tables --shared-memory
- 以空密碼登入服務:
mysql -u root -p
,回車 - 修改密碼:
ALTER USER "root"@"localhost" IDENTIFIED BY "新密碼";