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

MySQL Root 密碼忘記?Windows 與 Linux 環境下的完整重置指南

     編輯:MySQL 資料庫相關知識

前言

MySQL 根用戶 root 密碼遺忘是常見運維場景。本文提供 Windows 與 Unix/Linux 兩大平台的詳細重置步驟,並給出通用的跳過權限表法,幫助您快速恢復訪問權限。

Windows 平台重置步驟

  1. 以管理員身份登錄 Windows 系統。
  2. 通過服務管理工具或任務管理器停止 MySQL 服務。
  3. 建立單行文本文件 c:\MySQL\pwdhf.txt,內容為:
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassWord');
  4. 打開命令提示符(CMD)。
  5. 假設 MySQL 安裝於 C:/MySQL/bin,執行:
    c:\mysql\bin\mysqld-nt --init-file=c:\MySQL\pwdhf.txt
    若使用安裝精靈安裝,需指定配置文件:
    mysqld-nt --defaults-file="path\my.ini" --init-file=c:\MySQL\pwdhf.txt
  6. 停止 MySQL 服務,再以正常模式啟動。
  7. 使用新密碼登錄驗證。

Unix/Linux 環境重置步驟

  1. 以 root 或啟動 mysqld 進程的用戶身份登錄系統。
  2. 定位 .pid 文件(常見於 /var/lib/mysql/、/var/run/mysqld/、/usr/local/mysql/data/,文件名為「主機名.pid」),執行:
    kill `cat /mysql-data-directory/host-name.pid` 結束進程。
  3. 在用戶主目錄建立文本文件 ~/mysql-init,內容同 Windows 步驟 3。
  4. 啟動 MySQL:
    mysqld_safe --init-file=~/mysql-init &
    重置成功後刪除 mysql-init 文件。
  5. 使用新密碼連接數據庫。

通用方法:跳過權限表

  1. 停止 MySQL 服務,以 --skip-grant-tables --user=root 選項啟動(Windows 可省略 --user=root)。
  2. 用客戶端連接:mysql -u root
  3. 執行 SQL:
    UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
    FLUSH PRIVILEGES;
  4. 用新密碼登錄驗證。

注意事項

  • 重置後務必執行 FLUSH PRIVILEGES 使權限生效。
  • 生產環境操作前建議備份數據目錄。
  • 重置完成後移除 --skip-grant-tables 並正常重啟服務。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved