關閉 MySQL的 binlog 避免硬碟塞爆

首頁 >> Research >> 網頁設計 >> 關閉 MySQL的 binlog 避免硬碟塞爆

上周收到網站異常,
前往主機查詢發現硬碟空間佔滿,
導致系統運作不正常,
今天就來教大家怎麼解決

關閉 MySQL的 binlog 避免硬碟塞爆

由於 MySQL 的 binlog 預設為開啟,
導致長期下來 log 佔用太大的硬碟空間,
同時也是造成此次網站異常的元兇。
在此提供解決方案。
使用管理員帳號登入 mysql
mysql -uroot -p 
並執行
show binary logs;

可以看到一個檔案就有 20MB以上,
日積月累之下這些 log 檔案就會塞爆硬碟,
當然若主機的硬碟空間很大應該就不會有這種困擾,
但換作雲端的話,
這些 log 佔用的空間就是代表經費的增加。
先使用命令將多數的 log檔案刪除
purge binary logs to ‘binlog.000150’
這命令會將 ‘binlog.000150’之前的 log檔案都刪除

接著再到 MySQL 設定檔案中略過 binlog
路徑通常為
/etc/mysql/mysql.conf.d/mysqld.cnf
新增一行 skip-log-bin 讓這個功能 off
[mysqld]user            = mysqlskip-log-bin
重新啟動服務
sudo service mysql restart

回到 MySQL 使用
show variables like ‘log_bin’;
確認是否關閉
show variables like ‘log_bin’;

最後回到主機上執行
df -h
查詢目前空間佔用的情形

經過上面的步驟之後,
可用空間多出 1.3G ,
就不會再出現網站異常的訊息,
其他實用的命令如下:
find / -type f  -size +10000k -exec ls -lh {} \; | awk ‘{print $5 “: ” $9}’ | sort -nr | head -n 40
這個命令會找到資料夾內大於 10MB的前 40個檔案,
以上就是今天要分享的解決方案

關閉 MySQL的 binlog 避免硬碟塞爆



================================
分享與讚美,是我們繼續打拼的原動力.
若文章對您有幫助,望請不吝按讚或分享.
或者對影片有興趣可以訂閱頻道接收通知
================================
YouTube 頻道
FB 粉絲專頁
================================

guangyaw

重點主題: 程式設計: Python , Django,Android 工具與軟體: Open edX,Linux工具,Blender教學 分享各地美景與產品使用心得,遊戲實況,甚至影視戲劇等, 您的訂閱就是頻道成長的原動力。 YouTube 頻道: https://youtube.com/xyawli

You may also like...

發表迴響