MySQL 無法啟動並報錯 Can't start server: can't create PID file: No space left on device,核心原因皆為磁碟空間耗盡。本文整理三個真實案例與通用排查步驟。
service mysqld start 超時,錯誤日誌顯示 PID 建立失敗。df -h 發現磁碟使用率 100%,/var/log 目錄佔用 32G。df -h 顯示滿載,用 find /tmp -size +100000000c 找出大檔,發現 catalina.out 高達 443G。rm -rf catalina.out 刪除後重啟 MySQL,建議同步重啟 OS 確保檔案控制釋放。120321 14:23:54 [ERROR] /usr/libexec/mysqld: Error writing file '/var/run/mysqld/mysqld.pid' (Errcode: 28) 120321 14:23:54 [ERROR] Can't start server: can't create PID file: No space left on device
ENOSPC(裝置無剩餘空間)。/var/log 或其他佔用空間的目錄,騰出空間即可。df -h 確認哪個掛載點滿載。du -sh /* 或 find / -size +100M 定位大檔案/目錄。核心觀念:MySQL 啟動需寫入 PID 檔案,任何導致目標分區無可用空間的情況都會引發此錯誤。解決之道永遠是「釋放空間」而非調整 MySQL 參數。