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

MySQL Root 密碼遺忘?三步驟緊急重置指南

     編輯:MySQL 資料庫相關知識

適用場景

Root 密碼遺失、無其他超級帳號可登入,需以作業系統最高權限介入。

重置流程

  1. 停止 MySQL 服務(勿用 kill -9):
    kill `cat /var/lib/mysql/hostname.pid`

    PID 檔通常在資料目錄下,名為 主機名.pid。

  2. 跳過授權表啟動:
    mysqld_safe --skip-grant-tables --skip-networking &

    --skip-networking 防止網路連入竊取無密碼 root。

  3. 無密碼登入並重置:
    mysql -u root mysql
    UPDATE user SET Password=PASSWORD('newpass') WHERE User='root';
    FLUSH PRIVILEGES;
    -- 或
    mysqladmin -u root password 'newpass'
  4. 正常重啟:
    mysqladmin -u root -p'newpass' shutdown
    # 然後以標準方式啟動服務

Windows 環境對應步驟

  1. 服務管理器停止 MySQL 服務。
  2. CMD 執行:mysqld-nt --skip-grant-tables --skip-networking(保持視窗開啟)。
  3. 新視窗:mysql -u root mysql → 執行上述 UPDATE/FLUSH。
  4. 關閉 --skip-grant-tables 視窗,服務管理器重新啟動 MySQL。

事後加固

  • 檢查 user 表無匿名帳號、無弱密碼、root 僅限 localhost。
  • 啟用 validate_password 插件強制密碼複雜度。
  • 建立備用超級帳號 admin@localhost 防單點故障。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved