那天,真是惊险。
我记得很清楚,是一个普通的周五下午,离下班还有两个小时。我还想着晚上约朋友撸串,结果,一条监控告警“数据库主从延迟严重”,瞬间把我从幻想里拉了回来。
线上的问题突如其来,binlog惹的祸!
这条告警不是第一次看到,但这次很不一样。延迟竟然飙到了 20分钟,而且还在不断攀升。我们业务量虽不小,但主从差异从没这么大过。
我赶紧 SSH 登录数据库服务器,一看 show slave status\G:

当我再去查主库的 show binary logs; 时,一下懵了:

怎么回事?!之前不是一直有 binlog 吗?我一查 /var/lib/mysql 目录,瞬间明白了——binlog 满了,磁盘爆了。
我擦,这才是根本原因啊!
到底什么是 binlog?为什么会撑爆磁盘?
我们先暂停一下,跟大家简单科普一下:
binlog(二进制日志)是 MySQL 用来记录所有对数据库进行更改的操作的日志,主要用于:
数据恢复
主从复制
审计记录
正常情况下,binlog 会不断产生文件,默认每个 1GB(可以调),文件名类似:


最低0.47元/天 解锁文章
7155

被折叠的 条评论
为什么被折叠?



