萬盛學電腦網

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

MySQL 啟動錯誤 1067 根因:C 盤 Temp 垃圾檔案過多導致,一鍵清理解決

Windows 環境下 MySQL 服務無法啟動,事件檢視器報錯 1067,真兇往往是 C:\Windows\Temp 積累數十萬個 mysql_*.tmp 暫存檔。

快速解決步驟

  1. 開啟 CMD(管理員權限)。
  2. 執行刪除命令(勿用總管開啟資料夾,極易卡死):
    del /q /f /s C:\Windows\Temp\mysql_*.tmp
  3. 等待完成後,重啟 MySQL 服務:net start MySQL 或服務管理員中重啟。

長效機制:排程自動清理

  1. 建立批次檔 clean_mysql_temp.bat:
    @echo off
    del /q /f /s C:\Windows\Temp\mysql_*.tmp
    
  2. 開啟「工作排程器」→ 建立基本任務 → 每日/每週觸發 → 動作選「啟動程式」指向該 .bat。
  3. 勾選「無論使用者是否登入都要執行」、最高權限。

原理說明

MySQL 執行 CREATE TEMPORARY TABLE、FILESORT、大結果集處理時會在 tmpdir (預設 %TEMP%) 建立暫存檔。正常關閉會自動刪除,但異常 Crash、殺進程、磁碟滿等情況會導致殘留。檔案數過多時,FindFirstFile/FindNextFile 掃描極慢,甚至阻塞服務啟動初始化。

進階優化

  • 在 my.ini 指定專用暫存目錄:tmpdir=D:/mysql_tmp(獨立磁碟、定期清理更易管理)。
  • 監控 Created_tmp_disk_tables、Created_tmp_files 狀態變數,異常暴增預警。
copyright © 萬盛學電腦網 all rights reserved