Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

VPS 磁碟爆滿導致 Nginx 無法啟動?MySQL 二進制日誌清理與永久關閉教學

編輯:Linux 教學

網站突然無法存取、資料庫連線失敗、phpMyAdmin 也打不開,登入控制面板一看磁碟使用率 100% 紅色警示。重啟後問題依舊,Nginx 因磁碟空間不足無法啟動,甚至 SSH 也連不上。幸好 VPS 面板內建的簡易 Shell 仍可使用,透過 df -h 定位發現罪魁禍首:/usr/local/mysql/var/ 目錄下堆滿 mysql-bin.0000* 二進制日誌檔案,佔滿所有空間。

原因分析

LNMP 一鍵安裝包預設啟用 MySQL 二進制日誌,若資料庫寫入頻繁,日誌檔案會以幾十 MB 至數 GB 增長,最終耗盡磁碟空間,導致 MySQL 服務掛掉、網站報錯。

解決方案:治標與治本並重

1. 緊急清理現有日誌(治標)

cd /usr/local/mysql/var/
rm -f ./mysql-bin.*

執行後磁碟空間即可釋放,Nginx 與 MySQL 可暫時恢復運作。

2. 徹底禁用二進制日誌(治本)

vim /etc/my.cnf

找到以下兩行,在行首加上 # 註解掉:

# log-bin=mysql-bin
# binlog_format=mixed

存檔離開(:wq),重啟 MySQL 服務:

service mysqld restart

最後重啟 Nginx 確認網站恢復正常:

service nginx restart

補充建議

  • 若需保留日誌功能(如主從同步),請改為設定 expire_logs_days = 7 自動清理 7 天前日誌,並定期監控磁碟使用率。
  • 建議設置監控腳本,當磁碟使用超過 80% 時發送警報。
Copyright © Windows教程網 All Rights Reserved