租用了新的雲端主機,有一天發現全部線上網站都掛了

經檢查發現是硬碟被吃光了,但是我應該沒有存那麼多資料&圖片才對

使用指令慢慢檢查根目錄,在查到 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 功能了,持續觀察幾天看看!


每週二 YT 直播問答,DC 可 Call-in,一起討論技術、職涯發展。
YT 👇👇👇
https://www.youtube.com/@codelove_tw
DC 👇👇👇
https://discord.gg/fvCF2whZ9D

共有 1 則留言

2023-11-15 更新

硬碟又快滿了

這次是因為 Puppeteer 的 dev profile 檔案存在 /tmp 內部

使用以下指令

sudo find /tmp -type f -atime +0 -delete

可暫時清空


每週二 YT 直播問答,DC 可 Call-in,一起討論技術、職涯發展。
YT 👇👇👇
https://www.youtube.com/@codelove_tw
DC 👇👇👇
https://discord.gg/fvCF2whZ9D
🏆 本月排行榜
🥇
站長阿川
📝10   💬6   ❤️6
434
🥈
我愛JS
📝1   💬5   ❤️4
93
🥉
AppleLily
📝1   💬4   ❤️1
54
#4
💬1  
5
#5
xxuan
💬1  
3
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次