共计 1148 个字符,预计需要花费 3 分钟才能阅读完成。
系统: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
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-09/146672.htm
正文完
星哥玩云-微信公众号