MySQL 1067 錯誤 (The process terminated unexpectedly) 是 Windows 環境下服務啟動失敗的通用錯誤碼,**非具體原因**。本文彙總八大高頻根因、排查步驟、修復命令與預防配置,助你快速定位解決。
net start mysql
MySQL 服務正在啟動...
系統發生 1067 錯誤。
進程意外終止。
basedir/datadir,或文件為 Unix 換行符 (LF) 導致 Notepad 顯示亂碼。%WINDIR%\my.ini (C:\Windows\my.ini) 存在。[mysqld]
basedir=D:/MySQL
datadir=D:/MySQL/data
my.ini,從安裝目錄複製 my-default.ini 重命名修改。mysql 已存在,新實例無法註冊。sc delete mysql
# 成功提示:[SC] DeleteService SUCCESS
# 再重新運行 MySQL Instance Configuration Wizard
datadir → 屬性 → 安全 → 編輯 → 添加 SYSTEM、NETWORK SERVICE → 完全控制。netstat -ano | findstr 3306 找 PID,任務管理器殺進程或改配置 port=3307。.err) 顯示 InnoDB: Log file size mismatch 或 corrupted。ib_logfile* (重啟自建);ibdata1 損壞需從備份恢復或 innodb_force_recovery=1..6 導出數據重建。basedir=C:\MySQL (反斜桿需轉義或用正斜桿)。basedir=C:/MySQL 或 basedir=C:\\MySQL。log-error 指定目錄是否存在、服務賬號是否有寫入權。type "D:\MySQL\data\hostname.err" (或配置的 log-error 路徑) — **最直接定位根因**。sc delete mysql、刪除舊數據目錄 (非生產)。cd /d D:\MySQL\bin
mysqld --console --defaults-file="D:\MySQL\my.ini"
控制台直接輸出啟動日誌,一眼定位報錯行。net start mysql。# 錯誤方式:net stop mysql (可能報 1067 但實際已停)
# 正確方式:
mysqladmin -u root -p shutdown
[mysqld]
basedir = D:/MySQL
datadir = D:/MySQL/data
port = 3306
character-set-server = utf8mb4
default-storage-engine = InnoDB
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 1
max_connections = 500
sql_mode = STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
[client]
default-character-set = utf8mb4
port = 3306
**1067 是果,非因**。核心排查三步:**看錯誤日誌 → 驗證 my.ini → 手動前台啟動**。90% 情況是 my.ini 路徑/編碼/權限問題。建立標準配置模板、使用 mysql_secure_installation、定期備份 ibdata1/ib_logfile*,可從根源消除 1067 鬼魅。