![bd90f43bad70757b6d3bd5c6ee1c28a8.png](https://i-blog.csdnimg.cn/blog_migrate/195a3710a143dd633832e06c23c26cf6.jpeg)
记录之前在跑项目过程中遇到的一次binlog日志过大,导致zabbix挂掉的问题。
首先我们要知道,什么是binlog?
binlog是二进制日志文件,用于记录mysql的数据更新或者潜在更新(比如DELETE语句执行删除而实际并没有符合条件的数据),在mysql主从复制中就是依靠的binlog。默认情况下,binlog日志是二进制格式的,不能使用查看文本工具的命令(比如,cat,vi等)查看,而使用mysqlbinlog解析查看。
发现zabbix挂掉,通过排查日志,df查看磁盘空间,最终定位到罪魁祸首是mysql的binlog日志过大导致的,遇到这种问题,要分情况。
一、zabbix挂掉,mysql正常运行,这个时候我们只要进入mysql,运行一遍‘reset master;’,即可清理掉binlog日志。
如下图:
![81270084271538f2da2cf5eed22294f4.png](https://i-blog.csdnimg.cn/blog_migrate/298e134cb5cc3e3294743aa8b3a55b2d.jpeg)
然后再编辑my.cnf文件,修改下binlog日志保存日期即可,如果zabbix没有做主从数据库,禁用掉log_bin这个参数,重启数据库,搞定。
![92cca62943148e91205b7db8dd09ca99.png](https://i-blog.csdnimg.cn/blog_migrate/1a2b17503bb88a49b07b58eb29e2fd76.jpeg)
如果做了主从,则可以缩小binlog自动删除的天数,参数为expire_logs_days,如下图:
![3345fb4d223fddab0bb421db4bbc4275.png](https://i-blog.csdnimg.cn/blog_migrate/3d5973aa26144535f92d1a5484820152.jpeg)
如果‘reset master;’命令跑了很久,都没执行完,可以试下清理掉一部分大的文件跟/tmp下的数据,腾出一部分空间,再运行‘reset master;’
未完待续。。。
QQ在线Zabbix答疑群177428068