• 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的有效性。

    我们看一下官方的说法

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

  • 相关阅读:
    945.使数组唯一的最小增量
    用两个栈实现队列
    MySQL的约束
    数据库的设计
    约束
    DQL查询
    数据库的基本概念
    SQL基础语法
    MySQL基础
    java的注解和反射
  • 原文地址:https://www.cnblogs.com/FengGeBlog/p/10240673.html
Copyright © 2020-2023  润新知