首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Windows 系統下 MySQL root 密碼遺忘解決方案

     編輯:MySQL 資料庫相關知識

問題背景

在 Windows 環境下管理 MySQL 資料庫時,若不慎遺忘 root 使用者密碼,無法正常登入進行管理操作,此時需要透過跳過權限驗證的方式重置密碼。本文提供一套經實測有效的雙命令視窗操作流程,適用於 MySQL 5.5 版本,其他版本亦可參考調整路徑。

操作步驟

第一階段:以跳過授權表模式啟動 MySQL 服務

開啟第一個命令提示字元視窗(建議以系統管理員身分執行),依序輸入以下指令:

cd D:\Program Files\MySQL\MySQL Server 5.5\bin
net stop mysql
mysqld --skip-grant-tables

說明:

  • 第一行切換至 MySQL 執行檔目錄,請根據實際安裝路徑修改
  • 第二行停止正在運行的 MySQL 服務
  • 第三行以 --skip-grant-tables 參數啟動服務,此模式下將跳過權限檢查,允許無密碼登入

執行後視窗會保持運行狀態,請勿關閉。

第二階段:重置 root 密碼

開啟第二個命令提示字元視窗,同樣切換至 bin 目錄:

cd D:\Program Files\MySQL\MySQL Server 5.5\bin
mysql -uroot -p

此時直接按 Enter 鍵跳過密碼輸入(因已跳過授權),成功進入 MySQL 互動模式後,依序執行以下 SQL 指令:

USE mysql;
UPDATE user SET password=PASSWORD("新密碼") WHERE User="root";
FLUSH PRIVILEGES;
EXIT;

關鍵點:

  • PASSWORD() 函數會將明文加密儲存
  • FLUSH PRIVILEGES 強制重新載入授權表,使修改即時生效

第三階段:恢復正常服務

回到第一個視窗,按 Ctrl+C 停止跳過授權模式的服務,然後在第二個視窗輸入:

net start mysql

即可恢復正常 MySQL 服務,使用新密碼登入驗證。

注意事項

  • MySQL 5.7+ 版本中 password 欄位已更名為 authentication_string,SQL 需相應調整
  • 操作完成後務必重啟服務,否則授權表變更不生效
  • 生產環境建議事先備份 mysql 系統資料庫
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved