mysql seconds_behind_master_【MySQL】Seconds_Behind_Master的真正含义

系统:centos7

版本:mariadb 10.1.21

1、Seconds_Behind_Master的含义

本质上,Seconds_Behind_Master表示:slave的SQL线程与I/O线程的时间差。

只有当网速较快时,Seconds_Behind_Master才能较好的估计slave的SQL线程相对于master的延迟。

当master与slave之间的网速较慢时,Seconds_Behind_Master的值通常是0。

2、例子

在主库上执行了一个非常大的event,在这个event在主库上没执行完毕的时候,从库的SBM会显示为0,而当主库执行完毕传到从库上开始执行的时候,就会显示SBM非常巨大了

模拟场景:

步骤1:主库新建一张表并插入1000万+数据

MariaDB [test]> create table aaa as select * from log_user_like;

步骤2:sql未执行完成前,主库从库状态

Mysql>show variables like ‘%gtid%’;

主库(未执行完sql):

gtid_binlog_pos | 0-2-4445157 |

gtid_binlog_state | 0-2-4445157 |

gtid_current_pos | 0-2-4445157 |

从库(未执行完sql):

gtid_current_pos | 0-2-4445157 |

gtid_slave_pos | 0-2-4445157 |

Mysql>show variables like ‘%gtid%’;

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Seconds_Behind_Master: 0

Using_Gtid: Slave_Pos

Gtid_IO_Pos: 0-2-4445158

步骤3:sql执行完成后,主库从库状态

主库(执行完sql):

gtid_binlog_pos | 0-2-4445158 |

gtid_binlog_state | 0-2-4445158 |

gtid_current_pos | 0-2-4445158 |

从库(从库同步没有完成):

gtid_current_pos | 0-2-4445157 |

gtid_slave_pos | 0-2-4445157 |

Mysql>show variables like ‘%gtid%’;

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Seconds_Behind_Master: 95 -----大的事务执行完成后才会出现延迟

Using_Gtid: Slave_Pos

Gtid_IO_Pos: 0-2-4445158

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值