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

MySQL Root 密碼遺忘?三步驟快速重置存取權限

     編輯:MySQL 資料庫相關知識

遺忘 MySQL root 密碼是常見運維情境。本文提供標準、安全的重置流程,適用於 Linux/Unix 環境,Windows 同理。

重置步驟

1. 停止 MySQL 服務

# 找出 PID 檔位置(通常在資料目錄)
kill `cat /mysql-data-directory/hostname.pid`
  • 需具備系統 root 權限或運行 MySQL 的同等用戶身分。
  • 嚴禁使用 kill -9,強制終止可能導致資料檔損壞。

2. 跳過授權表啟動服務

safe-mysqld --skip-grant-tables &

此模式下 MySQL 不驗證密碼,任何人可無密碼登入,**務必在安全網路環境下短時間操作**,完成後立即正常重啟。

3. 登入修改密碼

mysql -h hostname mysql

在 MySQL 提示符下執行任一方式:

-- 方式 A:GRANT 指令(會自動加密)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'newpass';

-- 方式 B:直接更新 user 表
UPDATE user SET Password=PASSWORD('newpass') WHERE User='root';
FLUSH PRIVILEGES;

4. 重新載入權限並正常重啟

mysqladmin -h hostname flush-privileges

或執行 SQL:FLUSH PRIVILEGES;,然後正常重啟 MySQL 服務。

Windows 環境差異

  • 啟動參數改用 mysqld --skip-grant-tables 或 mysqld-nt --skip-grant-tables。
  • 停止服務可用「服務管理工具」或 net stop mysql。
  • PID 檔通常在 data 目錄下。

安全提醒

  • 重置後立即驗證新密碼能否正常登入。
  • 檢查是否有其他帳號密碼過弱,同步強化。
  • 生產環境建議啟用 skip-name-resolve 避免 DNS 延遲,並限制 root 僅允許 localhost 連線。

結語

Root 密碼重置屬標準運維作業,核心在於優雅停止服務、啟動跳過授權、修改密碼、刷新權限、正常重啟五步驟。平時做好密碼管理(密碼管理器、定期輪換、最小權限原則)才是根本之道。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved