首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Windows 系統下 MySQL Root 密碼修改四大法:SET PASSWORD、mysqladmin、UPDATE user、緊急重置

     編輯:MySQL 綜合教學

Windows 環境 MySQL 修改 Root 密碼四種標準方法完整操作手冊

根據是否知道舊密碼、是否具備資料庫管理權限、是否允許服務重啟,選擇最適合的密碼變更方式。本文提供四大法圖文並茂操作步驟、適用場景與避坑指南。

前置條件確認

  • 以管理員身分開啟 CMD/PowerShell
  • 確認 mysql.exe、mysqladmin.exe 所在目錄已加入系統 PATH,或 cd 至 bin 目錄執行
  • 大多數方法需要現有 root 權限(方法 4 除外)

方法一:SET PASSWORD 指令(需舊密碼、線上生效)

# 1. 登入 MySQL
mysql -u root -p
# 輸入舊密碼

# 2. 執行修改指令
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NewPass2024!');
# 或 MySQL 8.0+
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass2024!';

# 3. 立即生效,無需重啟
mysql> FLUSH PRIVILEGES;

適用:知道舊密碼、不想重啟服務、單一實例。
注意:MySQL 5.7.6+ PASSWORD() 回傳雜湊值,8.0 棄用 PASSWORD() 改用 ALTER USER。

方法二:mysqladmin 命令列工具(需舊密碼、非互動式腳本適用)

適用:自動化部署腳本、CI/CD 流程、批次修改多實例。
優點:無需進入互動式 Shell,適合腳本化。

方法三:UPDATE mysql.user 表直改(需舊密碼、可批量修改多帳號)

方法四:忘記 Root 密碼緊急重置(無舊密碼、需重啟服務)

  1. 停止服務:net stop mysql
  2. 跳過授權啟動:
    cd "C:\Program Files\MySQL\MySQL Server 5.7\bin"
    mysqld --skip-grant-tables --skip-networking
  3. 另開視窗無密碼登入:mysql -u root
  4. 修改密碼(同方法三 UPDATE 指令)
  5. FLUSH PRIVILEGES; EXIT;
  6. 關閉跳過授權視窗 (Ctrl+C),正常啟動:net start mysql
  7. 驗證新密碼登入

適用:完全遺忘密碼、無其他管理員帳號。
安全警示:--skip-grant-tables 期間任何本地連線擁有最高權限,務必加 --skip-networking 並盡快完成。

四大法快速選型表

場景推薦方法需舊密碼需重啟風險等級
日常定期輪換方法一 SET PASSWORD是否低
自動化部署腳本方法二 mysqladmin是否低
批量修改多 Host root方法三 UPDATE user是否中
完全遺忘密碼方法四 緊急重置否是高(臨時降權)

事後驗證清單

  • ☐ 所有應用配置檔、連線池密碼已同步更新
  • ☐ 備份腳本、監控探針連線正常
  • ☐ SELECT User, Host, plugin FROM mysql.user WHERE User='root'; 確認 plugin 為 mysql_native_password
  • ☐ 記錄變更至密碼管理系統/運維日誌
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved