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

MySQL 啟動失敗「Event Scheduler: Failed to open table mysql.event」權限與路徑雙重排查

     編輯:MySQL 綜合教學

MySQL 啟動失敗「Event Scheduler: Failed to open table mysql.event」權限與路徑雙重排查

Windows 下修改 datadir 後服務啟動報錯 1067,日志提示 Event Scheduler: Failed to open table mysql.event。本質是數據目錄權限不足或服務賬戶錯誤。

故障現場

  • 修改 my.ini:datadir="D:/mysql/data"
  • 服務啟動失敗:錯誤 1067: 進程意外終止
  • 錯誤日志:[ERROR] Event Scheduler: Failed to open table mysql.event

兩種解決方案

方案一:服務改用 Local System 賬戶(快但不安全)

  1. 服務管理器 → MySQL 服務 → 右鍵屬性 → 登錄標籤
  2. 選「本地系統帳戶」→ 應用 → 重啟服務

服務賬戶設置

⚠️ 生產環境**不建議**,權限過大。

方案二:給數據目錄授權 Network Service/專用賬戶(標準做法)

  1. 右鍵 D:/mysql/data → 屬性 → 安全 → 編輯
  2. 添加「Network Service」或 MySQL 服務運行賬戶
  3. 授予**完全控制**權限,勾選「替換子對象權限條目」
  4. 重啟服務

原理:Windows 權限繼承機制,若目錄創建後才做安全策略,原賬戶可能無權訪問新路徑。

最佳實踐建議

  1. **先配置權限,再修改 datadir,再啟動服務**
  2. 專用服務賬戶(如 mysql_svc)替代 Network Service
  3. 生產環境禁用 Local System 運行 MySQL
  4. 定期審計數據目錄 ACL:icacls D:\mysql\data

排查清單

  • my.ini 路徑正確、無 BOM、編碼 UTF-8
  • datadir 目錄存在、ibdata1、mysql 系統庫完整
  • 錯誤日志路徑可寫
  • 端口 3306 未被佔用
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved