解决binlog日志过大问题

记录之前在跑项目过程中遇到的一次binlog日志过大,导致zabbix挂掉的问题。
首先我们要知道,什么是binlog?
binlog是二进制日志文件,用于记录mysql的数据更新或者潜在更新(比如DELETE语句执行删除而实际并没有符合条件的数据),在mysql主从复制中就是依靠的binlog。默认情况下,binlog日志是二进制格式的,不能使用查看文本工具的命令(比如,cat,vi等)查看,而使用mysqlbinlog解析查看。

发现zabbix挂掉,通过排查日志,df查看磁盘空间,最终定位到罪魁祸首是mysql的binlog日志过大导致的,遇到这种问题,要分情况。
一、zabbix挂掉,mysql正常运行,这个时候我们只要进入mysql,运行一遍‘reset master;’,即可清理掉binlog日志。
如下图:
解决binlog日志过大问题
然后再编辑my.cnf文件,修改下binlog日志保存日期即可,如果zabbix没有做主从数据库,禁用掉log_bin这个参数,重启数据库,搞定。
解决binlog日志过大问题
如果做了主从,则可以缩小binlog自动删除的天数,参数为expire_logs_days,如下图:
解决binlog日志过大问题

如果‘reset master;’命令跑了很久,都没执行完,可以试下清理掉一部分大的文件跟/tmp下的数据,腾出一部分空间,再运行‘reset master;’

未完待续。。。

QQ在线Zabbix答疑群177428068

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章