MySQL一个延迟案例

 

突然接到报警显示MySQL主从之间延迟过大,随后尽快到集群上面看看,进行排查。

首先我们查看延迟是由什么造成的,排查一遍过后发现不是网卡和从库机器的负载,那就要从其他地方来排除了

查看binlog日志发现binlog日志文件多并且还大:

由于binlog刷新过快,因此很快就写满一个文件,可以确定出来是由于写入量过大导致的问题。

大概有两种情况:

1、可能此时业务突然增高

2、ROW格式本身就能导致日志文件的增大。

排除第一种可能,所以我们就开始分析binlog日志来进行查看问题。

后来发现delete from table where id < 1000000 limit 100导致的,因为我的表里面含有TEXT大字段,每次delete都会把TEXT大字段带入binlog,进而导致binlog激增。

所以我们后来去掉上面的那种删除用法,采用结合order by语句保证limit的有效性。

我们看一下官方的说法

因此我们就能找出问题了,我这里是参考某位博主的方法来解决的,点击这里

posted @ 2019-01-08 18:24  峰哥ge  阅读(384)  评论(0编辑  收藏  举报