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

解決 MySQL 5.7+ ERROR 1045 (28000): Access denied for user 'root'@'localhost'

     編輯:MySQL 綜合教學

MySQL 5.7+ 安裝後 root 登入失敗 (ERROR 1045) 根因與解決方案

MySQL 5.6 起為安全考量,**不再允許 root 空密碼**,安裝過程會自動生成一組隨機初始密碼。若不知此機制,嘗試空密碼或自設密碼登入均會報錯:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)。

根因

  • MySQL 5.7+ 安裝時會在 data 目錄下生成 *.err 錯誤日誌檔,檔名通常為 主機名.err。
  • 該檔案內含 A temporary password is generated for root@localhost: 隨機密碼。

解決步驟

  1. 找到錯誤日誌檔(預設路徑:安裝目錄\data\主機名.err)。
  2. 用文字編輯器開啟,搜尋 temporary password 取得隨機密碼。
  3. 使用該隨機密碼登入:mysql -u root -p → 輸入隨機密碼。
  4. 登入後**立即修改密碼**:
    ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密碼';

常見誤區

  • 在 my.ini 加 skip-grant-tables 繞過驗證:5.7+ 版本若未先用隨機密碼登入修改密碼,單純跳過授權表可能導致後續權限系統不一致,不建議作為首選方案。
  • 以為安裝介面未提示設密碼就是空密碼:實際上安裝精靈的「設定密碼」步驟若被跳過,仍會生成隨機密碼寫入日誌。

補充:若已修改 my.ini 加入 skip-grant-tables 且無法啟動

移除該行,正常啟動服務,再依上述流程用隨機密碼登入改密。

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