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

MySQL 啟動錯誤 1067 秒解:C 盤 Temp 垃圾檔案清理大法

     編輯:MySQL 資料庫相關知識

Windows Server 上 MySQL 服務啟動失敗報錯 Error 1067: The process terminated unexpectedly,九成原因是 C:\Windows\Temp 目錄積累數十萬 MySQL 臨時檔 (MYD*、MYI*、*.tmp),導致建立新臨時檔失敗。命令列批量刪除 + 計劃任務定期清理,徹底根治。

故障現象

  • 服務管理器 (services.msc) 啟動 MySQL 失敗,彈窗「錯誤 1067:進程意外終止」
  • 事件檢視器 → Windows Logs → System:Source MySQL、Event ID 1067
  • mysqld --console 前台啟動可見 Can't create/write to file 'C:\Windows\Temp\MYxxxx.tmp' (Errcode: 2)

根因分析

  • MySQL 運行時在系統 Temp 目錄建立臨時表檔案 (複雜查詢、排序、分組、磁盤臨時表)
  • 長期運行未清理,檔案數達 10-50 萬,NTFS 目錄項爆滿、MFT 碎片化、建檔極慢或失敗
  • 啟動階段需建立臨時檔初始化,超時導致服務啟動失敗

極速清理解決 (命令列,勿開資源管理器!)

REM 以管理員身份開啟 CMD
cd /d C:\Windows\Temp

REM 刪除 MySQL 臨時檔 (通配符)
del /q /f MY*.tmp
del /q /f MYD*.tmp
del /q /f MYI*.tmp
del /q /f *.tmp

REM 若檔案被佔用無法刪,先停 MySQL 服務
net stop mysql
# 執行上述 del
net start mysql
CMD 刪除臨時檔示意
刪除完成後重啟服務

為何不用資源管理器? 數十萬檔案開啟極慢、選中卡死、刪除進度條凍結,CMD del 直接遍歷 MFT 刪除,秒級完成。

一勞永逸:計劃任務自動清理

1. 建立清理批次檔 (clean_mysql_temp.bat)

@echo off
cd /d C:\Windows\Temp
del /q /f MY*.tmp MYD*.tmp MYI*.tmp *.tmp 2>nul
echo %date% %time% MySQL temp cleaned >> C:\Logs\mysql_temp_clean.log

2. 建立計劃任務 (每天凌晨 03:00)

schtasks /create /tn "CleanMySQLTemp" /tr "C:\Scripts\clean_mysql_temp.bat" /sc daily /st 03:00 /ru SYSTEM /rl HIGHEST

或圖形介面:控制台 → 系統和安全 → 管理工具 → 工作排程器 → 建立基本任務。

進階優化:調整 MySQL 臨時目錄

將臨時檔導向專用磁碟 (非系統盤、SSD、大空間),避免污染系統 Temp:

[mysqld]
tmpdir = D:/MySQLTemp
# 確保目錄存在、MySQL 服務帳號有讀寫權限

重啟服務生效。專用目錄便於監控磁碟佔用、獨立備份/清理策略、IO 隔離。

同類錯誤 1067 其他可能原因速查

原因排查解決
配置檔語法錯誤 (my.ini)mysqld --console 觀察啟動日誌修正語法、路徑、參數值
資料目錄權限/路徑錯誤datadir 是否存在、帳號權限修正路徑、授權、修復 ibdata1
埠 3306 被佔用netstat -ano | findstr 3306殺佔用進程、改埠
InnoDB 日誌檔損壞/大小不符錯誤日誌 InnoDB: Log file .\ib_logfile0 is of different size停服務、刪 ib_logfile*、重啟 (自動重建)
防毒軟體攔截 mysqld.exe白名單加入安裝目錄 bin/設定排除掃描

運維檢查清單 (月度)

  1. C:\Windows\Temp 檔案數 < 10,000
  2. MySQL tmpdir 磁碟使用率 < 70%
  3. 錯誤日誌 .err 無連續報錯
  4. 計劃任務 CleanMySQLTemp 最近執行狀態「成功」
  5. 服務啟動類型「自動」、恢復動作「重新啟動服務」

Error 1067 看似嚇人,實則多為「垃圾堵門」。建立「專用臨時目錄 + 定時清理 + 監控告警」三層防線,讓 MySQL 在 Windows 上也能穩如磐石。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved