slave_worker_info - xiaoboluo768/mysql-system-schema GitHub Wiki

  • 该表提供查询多线程复制时的worker线程状态信息,与performance_schema.replication_applier_status_by_worker表的区别是:slave_worker_info表记录worker线程重放的relay log和主库binlog位置信息,而performance_schema.replication_applier_status_by_worker表记录的是worker线程重放的GTID位置信息
  • 表结构定义
CREATE TABLE `slave_worker_info` (
  `Id` int(10) unsigned NOT NULL,
  `Relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Relay_log_pos` bigint(20) unsigned NOT NULL,
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Master_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Checkpoint_relay_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Checkpoint_master_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_seqno` int(10) unsigned NOT NULL,
  `Checkpoint_group_size` int(10) unsigned NOT NULL,
  `Checkpoint_group_bitmap` blob NOT NULL,
  `Channel_name` char(64) NOT NULL COMMENT 'The channel on which the slave is connected to a source. Used in Multisource Replication',
  PRIMARY KEY (`Channel_name`,`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Worker Information';
  • 表字段含义
  • Id:表中数据的ID,也是worker线程的ID,对应着performance_schema.replication_applier_status_by_worker表的WORKER_ID字段(如果复制停止,则该字段值仍然存在,不像performance_schema.replication_applier_status_by_worker表中THREAD_ID字段值会清空)
  • Relay_log_name:每个worker线程当前最新执行到的relay log文件名
  • Relay_log_pos:每个worker线程当前最新执行到的relay log文件中的position
  • Master_log_name:每个worker线程当前最新执行到的主库binary log文件名
  • Master_log_pos:每个worker线程当前最新执行到的主库binary log文件中的position
  • Checkpoint_relay_log_name:每个worker线程最新检查点的relay log文件名
  • Checkpoint_relay_log_pos:每个worker线程最新检查点的relay log文件中的position
  • Checkpoint_master_log_name:每个worker线程最新检查点对应主库的binary log文件名
  • Checkpoint_master_log_pos:每个worker线程最新检查点对应主库的binary log文件中的position
  • Checkpoint_seqno:每个worker线程当前最新执行完成的事务号,这个事务号的大小值是相对于每个worker线程自己的最新检查点而言的,并不是真正的事务号
  • Checkpoint_group_size:表示每个worker线程的执行队列大于这个字段值时,就会触发当前worker线程执行一次检查点
  • Checkpoint_group_bitmap:用于从库crash之后recovery的关键值,它是一个位图值,表示每个worker线程在自己的最新检查点中已经执行的事务
  • Channel_name:复制通道名称,多主复制时,显示指定的复制通道名称,单主复制时该字段为空
  • 表记录内容示例
root@localhost : mysql 01:09:39> select * from slave_worker_info limit 1\G;
*************************** 1. row ***************************
                        Id: 1
            Relay_log_name: 
             Relay_log_pos: 0
           Master_log_name: 
            Master_log_pos: 0
 Checkpoint_relay_log_name: 
  Checkpoint_relay_log_pos: 0
Checkpoint_master_log_name: 
 Checkpoint_master_log_pos: 0
          Checkpoint_seqno: 0
     Checkpoint_group_size: 64
   Checkpoint_group_bitmap:                                                                 
              Channel_name: 
1 row in set (0.00 sec)

上一篇:slave_relay_log_info表 |下一篇:日志表

⚠️ **GitHub.com Fallback** ⚠️