記錄之前在跑項目過程中遇到的一次binlog日誌過大,導致zabbix掛掉的問題。
首先我們要知道,什麼是binlog?
binlog是二進制日誌文件,用於記錄mysql的數據更新或者潛在更新(比如DELETE語句執行刪除而實際並沒有符合條件的數據),在mysql主從複製中就是依靠的binlog。默認情況下,binlog日誌是二進制格式的,不能使用查看文本工具的命令(比如,cat,vi等)查看,而使用mysqlbinlog解析查看。
發現zabbix掛掉,通過排查日誌,df查看磁盤空間,最終定位到罪魁禍首是mysql的binlog日誌過大導致的,遇到這種問題,要分情況。
一、zabbix掛掉,mysql正常運行,這個時候我們只要進入mysql,運行一遍‘reset master;’,即可清理掉binlog日誌。
如下圖:
然後再編輯my.cnf文件,修改下binlog日誌保存日期即可,如果zabbix沒有做主從數據庫,禁用掉log_bin這個參數,重啓數據庫,搞定。
如果做了主從,則可以縮小binlog自動刪除的天數,參數爲expire_logs_days,如下圖:
如果‘reset master;’命令跑了很久,都沒執行完,可以試下清理掉一部分大的文件跟/tmp下的數據,騰出一部分空間,再運行‘reset master;’
未完待續。。。
QQ在線Zabbix答疑羣177428068