首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 服務啟動失敗 1067 錯誤完整排查手冊:配置、權限、數據損壞、重裝全覆蓋

     編輯:MySQL 資料庫相關知識

錯誤現象

本地計算機無法啟動 MySQL 服務。
錯誤 1067:進程意外終止。

Windows 事件查看器:Event ID 7034、MySQL 服務意外停止。

快速修復三步走(解決 80% 情況)

  1. 重置服務註冊
    cd "C:\Program Files\MySQL\MySQL Server 5.x\bin"
    mysqld --remove
    mysqld --install
    net start mysql
    
  2. 檢查 my.ini 關鍵路徑
    打開 my.ini(安裝目錄與 C:\Windows\my.ini 兩處皆查),[mysqld] 區塊必須包含:
    basedir="C:/Program Files/MySQL/MySQL Server 5.x/"
    datadir="C:/ProgramData/MySQL/MySQL Server 5.x/Data/"
    
    路徑使用正斜杠或雙反斜杠,目錄必須存在且 mysql 服務賬號有讀寫權限。
  3. 清理殘留進程與權限
    taskkill /F /IM mysqld.exe
    # 服務屬性 → 登錄 → 此賬戶 → 輸入正確密碼(若修改過 Windows 用戶密碼)
    

深度排查分類

類別典型原因排查動作
配置錯誤datadir 指向不存在目錄、basedir 錯誤、my.ini 重複/衝突對比兩處 my.ini、修正路徑、刪除 C:\Windows\my.ini 保留安裝目錄版
數據損壞非正常關機導致 ibdata1/ib_logfile 損壞、MyISAM 索引損壞備份數據目錄 → 刪除 ib_logfile0/1 → 啟動自動恢復;或用備份覆蓋
權限問題服務登錄賬戶密碼過期、數據目錄 ACL 缺失服務屬性更新密碼、icacls 授予 MYSQL 用戶完全控制
端口佔用3306 被其他進程佔用netstat -ano | findstr 3306 找到 PID → taskkill
插件/存儲引擎配置啟用了未編譯的引擎(如未安裝 InnoDB 插件)註釋掉 plugin-load 相關行、或安裝對應插件

非法關機導致的數據損壞專項處理

  1. 停止服務:net stop mysql
  2. 備份整個 datadir 目錄。
  3. 刪除 ib_logfile0、ib_logfile1(InnoDB 重做日志),保留 ibdata1、*.ibd。
  4. 啟動服務:InnoDB 會自動執行崩潰恢復(Starting crash recovery...)。
  5. 若仍失敗,用 innodb_force_recovery=1..6 分級嘗試導出數據後重建。

徹底重裝清單(最後手段)

  1. 控制面板卸載所有 MySQL 組件。
  2. 刪除安裝目錄、C:\ProgramData\MySQL、C:\Windows\my.ini。
  3. 注冊表清理(參考文章 74604)。
  4. sc delete mysql 清理服務註冊。
  5. 重啟機器。
  6. 下載官方 MSI 全新安裝,配置 basedir/datadir 至非系統盤。

預防性最佳實踐

  • 數據目錄放非系統盤(如 D:\MySQL\Data),避免 C 盤滿/重裝系統波及。
  • 配置 innodb_flush_log_at_trx_commit=1、sync_binlog=1 保證持久化。
  • 定期 mysqldump --single-transaction --master-data=2 異地備份。
  • 監控 Aborted_connects、Innodb_buffer_pool_wait_free 等指標,提前發現隱患。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved