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

MySQL Root 密碼重置完整教學(Windows 與 Linux/Unix 雙平台)

     編輯:MySQL 資料庫相關知識

前置說明

若從未設定 root 密碼,預設可無密碼登入;但強烈建議為所有帳號設定強密碼。若遺忘密碼,可依下列步驟重置。

Windows 平台步驟

  1. 以系統管理員登入,開啟服務管理員(services.msc)停止 MySQL 服務;若非服務模式,用工作管理員結束 mysqld 進程。
  2. 建立文字檔(如 C:\mysql-init.txt),內容僅一行:
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
  3. 開啟命令提示字元,啟動 MySQL 並載入初始化檔:
    C:\mysql\bin\mysqld-nt --init-file=C:\mysql-init.txt
    若使用安裝精靈,需加上 --defaults-file 指向 my.ini。
  4. 服務啟動後密碼即已更新,刪除 mysql-init.txt,正常重啟 MySQL 服務。
  5. 使用新密碼連線測試。

Linux/Unix 平台步驟

  1. 以 root 或 mysqld 運行身份登入。
  2. 找到 .pid 檔(常見於 /var/lib/mysql/、/var/run/mysqld/),發送正常 kill 訊號停止服務:
    kill `cat /path/to/host_name.pid`
  3. 建立初始化檔(如 ~/mysql-init),內容同 Windows。
  4. 以 mysqld_safe --init-file=~/mysql-init & 啟動服務。
  5. 啟動成功後刪除初始化檔,測試新密碼。

替代方案(通用但較不安全)

  1. 以 --skip-grant-tables --user=root 啟動 mysqld(Windows 可省略 --user=root)。
  2. 無密碼連線:mysql -u root
  3. 執行更新:
    UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
    FLUSH PRIVILEGES;
  4. 正常重啟服務。

注意:--skip-grant-tables 會暫時關閉權限檢查,僅在受信任環境短暫使用,完成後務必移除參數並重啟。

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