Windows 服務管理器啟動 MySQL 失敗:
Windows 無法啟動 MySQL 服務 (位於本地計算機上)。
錯誤 1067:進程意外終止。
eventvwr.mscMySQL,查看 Error 級別事件常見關鍵錯誤:
Default storage engine (InnoDB) is not available
MySQL 資料目錄下的 *.err 檔案 (如 hostname.err) 含詳細堆疊。
現象:Default storage engine (InnoDB) is not available
原因:my.ini 指定 default-storage-engine=INNODB,但 InnoDB 初始化失敗 (資料檔損壞、權限、磁碟空間)。
修復:
# 1. 臨時改用 MyISAM 啟動排查
# my.ini
default-storage-engine=MYISAM
# 2. 啟動後檢查 InnoDB 錯誤日誌,修復根因
# 3. 恢復為 InnoDB 並重啟
現象:重裝 MySQL 仍報 1067。
原因:WAMP/XAMPP 等整合環境將 my.ini 寫入 C:\Windows\ 並設唯讀,MySQL 優先讀取此處配置。
修復:
# 刪除系統目錄殘留配置
del C:\Windows\my.ini
# 重新安裝 MySQL,服務即可啟動
現象:mysqld_safe 找不到 mysqld 執行檔。
修復:
# 建立符號連結或修正 basedir
mklink /D "C:\Program Files\MySQL\MySQL Server 8.0" "D:\MySQL\MySQL Server 8.0"
# 或修正 my.ini basedir
basedir=D:/MySQL/MySQL Server 8.0
datadir=D:/MySQL/data
| 現象/日誌 | 可能原因 | 解決 |
|---|---|---|
| Port 3306 in use | 埠被佔用 | netstat -ano 找 PID,任務管理器結束或改埠 |
| InnoDB: Unable to open datafile | ibdata1 損壞/遺失 | 刪除 ibdata1/ib_logfile* 重新初始化 (資料會丟失) |
| Access denied for user | 權限表損壞 | --skip-grant-tables 修復權限表 |
| Plugin 'InnoDB' registration failed | InnoDB 初始化失敗 | 檢查 innodb_data_file_path、磁碟空間、權限 |
| Can't create test file | datadir 權限/路徑錯誤 | 修正 my.ini datadir、確保目錄存在且 mysql 用戶可寫 |
datadir/*.err 詳細日誌mysqld --console 看即時輸出my.ini 路徑 (優先級:datadir > basedir > 默認 > C:\Windows\my.ini)basedir、datadir、port、socket 設定