博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
主从复制延时判断
阅读量:7066 次
发布时间:2019-06-28

本文共 1177 字,大约阅读时间需要 3 分钟。

当遇到从库延迟时,要怎么做?
首先输入 show slave status \G;看一下。
 
在生产环境中,主从复制常常会有复制延迟的现象,主要是master是并发的写,而slave是单线程的应用relay log,所以会出现复制延时,在MySQL 5.6版本中有了基于库的多线程复制。还有MariaDB的并行复制。但是我们使用MySQL 5.5的版本也比较多。如何判断复制是否延时呢?工具现在可以使用的有pt-heartbeat,但是如果我们自己明白怎么样判断复制是否延时的话,自己写简单的shell脚本或者python脚本也可以完成。
 
复制是否延时的判断标准如下:
              Master_Log_File: restoredb-bin.000013
          Read_Master_Log_Pos: 2421074
               Relay_Log_File: restoredb2-relay-bin.000010
                Relay_Log_Pos: 2419771
        Relay_Master_Log_File: restoredb-bin.000013
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 2421074
              Relay_Log_Space: 2420428
不要通过Seconds_Behind_Master去判断,该值表示slave上SQL线程和IO线程之间的延迟
判断方法如下:
1、首先看 Relay_Master_Log_File 和 Master_Log_File 是否有差异
2、如果Relay_Master_Log_File 和 Master_Log_File 有差异的话,那说明延迟很大
3、如果Relay_Master_Log_File 和 Master_Log_File 没有差异,再来看Exec_Master_Log_Pos 和 Read_Master_Log_Pos 的差异,那么更加严谨的做法是同时在主库执行show master status和在从库上面执行show slave status 的输出进行比较。MHA就是这样保证数据一致性的。MMM都没有做到。这也算MHA比MMM更加优秀的地方。

转载于:https://www.cnblogs.com/liang545621/p/9400820.html

你可能感兴趣的文章
centos 普通用户获得sudo超级权限
查看>>
Web内容管理系统 Magnolia
查看>>
tmux命令使用总结
查看>>
3dMAX如何发送网络渲染
查看>>
Dijkstra算法
查看>>
Hbulider & MUI
查看>>
字符合并[HAOI2016]
查看>>
最小点覆盖
查看>>
LinearLayout和RelativeLayout
查看>>
js-行事件
查看>>
demo_Position布局
查看>>
CSS清浮动处理(Clear与BFC)
查看>>
Vue创建五:导出及配置文件解析
查看>>
彻底搞懂 PHP 变量结构体,多数文章观点不准确
查看>>
“达观杯”文本分类挑战赛新手入门代码
查看>>
【设计模式系列】OO设计原则之SRP-单一职责原则
查看>>
JDBC(二)驱动程序类型发展历程
查看>>
【笔记】震惊!世上最接地气的字符串浅谈(Trie && AC自动机 && Manacher)
查看>>
oVirt (Open Virtual) 之 VDSM 学习笔记 (二) 流程追踪
查看>>
top命令的使用
查看>>