首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Windows 下 MySQL 1045 錯誤解決:跳過授權表重置 root 密碼圖文教程

     編輯:MySQL 綜合教學

Windows 下 MySQL 1045 錯誤解決:跳過授權表重置 root 密碼圖文教程

錯誤現象:Access denied for user 'root'@'localhost' (using password: YES),常見於遺忘 root 密碼或權限表損壞。Windows 環境下透過 skip-grant-tables 跳過密碼驗證重置密碼。

操作步驟

  1. 以管理員身份開啟 CMD,停止 MySQL 服務:
    net stop mysql
  2. 編輯 my.ini(預設 C:\Program Files\MySQL\MySQL Server 5.x\my.ini),在 [mysqld] 區塊下新增:
    skip-grant-tables
    保存退出。
  3. 重啟服務:
    net start mysql
  4. 免密登入:
    mysql -u root -p
    -- 提示輸入密碼時直接按 Enter
  5. 重置密碼(MySQL 5.7+ authentication_string 欄位):
    USE mysql;
    UPDATE user SET authentication_string=PASSWORD('新密碼') WHERE User='root';
    FLUSH PRIVILEGES;
    QUIT;

    MySQL 5.6 或更早版本用 UPDATE user SET Password=PASSWORD('新密碼') WHERE User='root';

  6. 移除 skip-grant-tables 並重啟:
    net stop mysql
    -- 編輯 my.ini 刪除或註釋 skip-grant-tables
    net start mysql
  7. 新密碼驗證登入:
    mysql -u root -p新密碼

注意事項

  • skip-grant-tables 期間任何人可免密登入,**務必在安全網路環境下操作,完成後立即移除**
  • MySQL 8.0 密碼欄位為 authentication_string,且預設採用 caching_sha2_password 插件,若連接失敗可嘗試 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
  • 若 net start mysql 失敗,檢查錯誤日誌 .err 確認具體原因
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved