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

MySQL 遺失 root 密碼緊急恢復 6 步驟 (通用於所有平台)

     編輯:MySQL 資料庫相關知識

適用場景

  • root 密碼遺忘
  • 懷疑被入侵竄改權限

恢復流程 (無需重新安裝)

  1. 下載同版本 MySQL 原始碼/二進位包 (任何平台皆可,只需 data/mysql 目錄)
  2. 重命名現有 data/mysql → data/old_mysql (保留舊權限表供事後審計)
  3. 將全新包中的 data/mysql 複製到你的 data/ 目錄
  4. 重啟 MySQL:此時權限表恢復出廠狀態,root 無密碼可登入
  5. 登入後立即執行:
    mysql> UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='root';
    mysql> FLUSH PRIVILEGES;
  6. 關鍵事後審計:
    • 檢查 old_mysql 中的 user/db/host/columns_priv 表,比對是否有異常帳號、權限竄改
    • 若有備份,進行資料完整性比對 (checksum、列數、關鍵表抽樣)

原理說明

MySQL 權限資訊儲存在 mysql 資料庫的系統表中。替換該目錄即相當於重置權限系統,不影響使用者資料表 (位於各自資料庫目錄)。

預防措施

  • 使用密碼管理工具儲存 root 密碼
  • 建立專用管理帳號 (如 dba@localhost),降低 root 使用頻率
  • 定期匯出 mysql 資料庫備份
  • 啟用 log_error 記錄登入失敗
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved