[ERROR] Event Scheduler: Failed to open table mysql.event # 導致 MySQL 服務啟動失敗,Windows 服務報錯 1067 進程意外終止
修改 datadir 到新路徑(如 D:/mysql/data)後,MySQL 服務運行賬戶(默認 Local System / Network Service)**無新目錄讀寫權限**,導致無法打開系統表 mysql.event。
services.mscMySQL / MySQL57 服務 → 右鍵「屬性」缺點: 權限過高,不符合最小權限原則,生產環境不推薦。
D:\mysql\data)→「屬性」→「安全」標籤NETWORK SERVICE →「檢查名稱」→ 確定NETWORK SERVICE → 勾選「完全控制」→ 「應用」→ 「確定」原理: MySQL 默認以 Network Service 運行,授予目錄完全控制即可讀寫系統表。
# 命令行啟動測試 mysqld --defaults-file="D:\mysql\my.ini" --console # 無 ERROR 輸出,最後顯示 "ready for connections" 即成功
Event Scheduler: Failed to open table mysql.event **本質是文件系統權限問題**。**方案二(授予運行賬戶目錄完全控制)最符合安全規範**。遷移 datadir 時,**先授權、再修改配置、再啟動**,順序不能亂。