在使用MySQL查詢時出現錯誤訊息:
Can’t create/write to file ‘/var/lib/mysql/#sql_ .MYI’ (Errcode: 28)
(後來重啟Mysql竟啟動失敗,因/var/lib/mysql/mysql.sock無法產生)
於Linux執行指令確認是disk space不足,
但執行指令df -h卻是尚有20%空間,
後來google發現有可能是inode不足,
執行df -i 果然inode不夠,
disk內有65萬個檔案;
後來找到路徑/var/spool/clientmqueue內共有50萬個檔案,
這個路徑的檔案是因為當cron執行時 會將相關結果以mail傳送給執行身份的帳號,
可是當sendmail 沒有啟動 那麼所有信件就會暫存在這個目錄,
因此就大膽的先刪除檔案,
檔案太多建議執行以下指令ls | xargs rm -rf刪檔,
刪除後DB就正常了。
建議若不需要傳送cron執行結果的排程最後方要加上:
即標準輸出、錯誤輸出均導至/dev/null刪除。