首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

MySQL 忘記 Root 密碼?跳過授權表快速重置圖文教程

     編輯:Java 相關知識

遺忘 MySQL root 密碼時,可透過 --skip-grant-tables 跳過權限驗證登入,更新 mysql.user 表重置密碼,最後重啟服務生效。

操作步驟 (Windows 環境示範)

  1. 定位執行檔:找到 mysqld.exe、mysql.exe 所在目錄 (通常在 bin 目錄),複製路徑。
  2. 啟動跳過授權的 Server:
    • 開啟 CMD,cd 到 bin 目錄。
    • 先在工作管理員結束現有 mysqld.exe 進程。
    • 執行 mysqld --skip-grant-tables,視窗會卡住 (正常),保持開啟。
  3. 無密碼登入:另開一個 CMD,直接輸入 mysql 回車,即可進入 MySQL Shell。
  4. 修改密碼:
    USE mysql;
    UPDATE user SET password=PASSWORD('123456') WHERE user='root' AND host='localhost';
    FLUSH PRIVILEGES;
  5. 驗證:SELECT user,host,password FROM user; 確認 root@localhost 密碼已更新。
  6. 重啟服務:關閉 --skip-grant-tables 的 CMD 視窗,正常啟動 MySQL 服務 (或重啟電腦)。
  7. 新密碼登入測試:mysql -u root -p123456 應成功進入。

常見問題

  • 若重啟後仍可無密碼登入,檢查 user 表是否存在空密碼匿名帳號,建議刪除或設定密碼。
  • MySQL 5.7+ password 欄位改為 authentication_string,SQL 需相應調整:UPDATE user SET authentication_string=PASSWORD('123456') ...。
  • Linux 同理,用 systemctl stop mysqld 停服務,mysqld_safe --skip-grant-tables & 啟動。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved