租用了新的雲端主機,有一天發現全部線上網站都掛了
經檢查發現是硬碟被吃光了,但是我應該沒有存那麼多資料&圖片才對
使用指令慢慢檢查根目錄,在查到 var 時
du -sh /var
發現是 var 資料夾佔用了 125 GB,顯然問題就在這裡
接著使用
du -h /var
發現疑似是 mysql 資料夾,佔用大量硬碟空間
繼續使用指令確認
du -sh /var/lib/mysql
以及查看細節
du -h /var/lib/mysql
發現就是這個資料夾沒錯,cd 進去 ls 看一下,看到大量的 binlog 檔案,命名類似這樣
...
binlog.000738
binlog.000739
binlog.000740
...
經研究,是 mysql 某種備份機制,暫時不深入研究,我目前不想使用這個備份功能
輸入以下 SQL 緊急移除這些備份
PURGE BINARY LOGS BEFORE NOW();
硬碟緊急狀況排除!
接著要避免之後再出現這個問題
參考這篇做法
https://askubuntu.com/questions/1322041/how-to-solve-increasing-size-of-mysql-binlog-files-problem
建立獨立檔案,方便日後維護
touch /etc/mysql/mysql.conf.d/howtomakeaturn.cnf
放入以下內容
# Added by howtomakeaturn at 2023-08-15 because of 100% disk usage issue.
[mysqld]
log_bin = # turn off
binlog_expire_logs_seconds = 86400 # 1 day
max_binlog_size = 104857600 # 100M
完成之後重啟資料庫
service mysql restart
大功告成!應該大致關閉 binlog 功能了,持續觀察幾天看看!
2023-11-15 更新
硬碟又快滿了
這次是因為 Puppeteer 的
dev profile
檔案存在 /tmp 內部使用以下指令
可暫時清空