前幾天電腦不幸中毒,病毒疑似刪除了 MySQL 的 log.err 錯誤日誌檔案。隨後 MySQL 服務便無法啟動,控制台拋出經典錯誤:Could not open error log file errno 2。這意味著 MySQL 找不到指定的錯誤日誌路徑,導致實例拒絕啟動。
為了修復這個問題,我花了一整個上午在百度、Google 瘋狂搜尋。搜尋結果多為權限不足、路徑配置錯誤、my.cnf 參數設定問題等常規情況,鮮有針對「日誌檔案被外部程式誤刪」的具體案例。嘗試過手動建立檔案、修改權限、調整 log-error 參數等方法,均無效果。
無奈之下決定重裝 MySQL,但又不想卸載原有實例(擔心資料遺失、配置遷移麻煩)。抱著試試看的心態,直接下載相同版本(MySQL 5.7)的安裝包進行覆蓋安裝。令人驚喜的是,MySQL 5.7 的安裝程式內建修復功能,它會自動檢測缺失的系統檔案(包括錯誤日誌)並重新生成。
安裝程式跑完修復流程後,MySQL 服務竟然順利啟動了!原本耗費半天無解的難題,竟然通過「修復安裝」在幾分鐘內迎刃而解。
data 目錄、my.cnf、錯誤日誌、二進位日誌等核心檔案。log-error 參數務必指向存在且可寫入的路徑,缺失會直接阻塞啟動。希望這個「曲線救國」的經驗能幫到遇到相同困境的開發者,切記:重裝前先試修復,往往事半功倍。