萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

Windows MySQL 服務啟動失敗 1067 錯誤完整排查手冊

錯誤現象

Windows 服務管理器啟動 MySQL 失敗:

Windows 無法啟動 MySQL 服務 (位於本地計算機上)。
錯誤 1067:進程意外終止。

核心排查步驟

步驟 1:查看 Windows 事件查看器

  1. 執行 eventvwr.msc
  2. 展開 Windows 日誌 → 應用程式
  3. 篩選來源 MySQL,查看 Error 級別事件

常見關鍵錯誤:

Default storage engine (InnoDB) is not available

步驟 2:檢查錯誤日誌

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 並重啟

方案二:殘留 my.ini 衝突

現象:重裝 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 datafileibdata1 損壞/遺失刪除 ibdata1/ib_logfile* 重新初始化 (資料會丟失)
Access denied for user權限表損壞--skip-grant-tables 修復權限表
Plugin 'InnoDB' registration failedInnoDB 初始化失敗檢查 innodb_data_file_path、磁碟空間、權限
Can't create test filedatadir 權限/路徑錯誤修正 my.ini datadir、確保目錄存在且 mysql 用戶可寫

標準化排查流程

  1. 事件查看器 → 找 MySQL Error 事件
  2. 查看 datadir/*.err 詳細日誌
  3. 以管理員身分 CMD 執行 mysqld --console 看即時輸出
  4. 檢查 my.ini 路徑 (優先級:datadir > basedir > 默認 > C:\Windows\my.ini)
  5. 驗證 basedir、datadir、port、socket 設定
  6. 檢查防火牆/殺毒軟體攔截
  7. 必要時重裝:完整卸載 → 刪除 C:\Windows\my.ini、datadir 殘留 → 重裝
copyright © 萬盛學電腦網 all rights reserved