美文网首页
MySQL复制-复制相关信息的存储及查询

MySQL复制-复制相关信息的存储及查询

作者: 月饮沙 | 来源:发表于2020-04-14 15:42 被阅读0次

本文问题

  1. 如何检查复制状态,需要重点关注哪些内容?
  2. 如何在主库上查询连接到该主库的从库信息,详细信息需要通过哪些选项进行配置
  3. 在从库上能够查询到哪些主库相关的信息,这些信息都存储在什么位置?如何进行查询和更改?
  4. P_S提供了哪些表用来监控复制相关的信息?这些表可以分为几种?
  5. P_S中哪些表提供了主库相关的信息,其中包含了哪些内容?
  6. P_S中哪些表提供了应用日志相关的信息,其中包含哪些内容?
  7. P_S中哪些表提供了关于组复制相关的信息,其中包含了哪些内容?
  8. 在MySQL8.0中增加了关于复制什么信息相关的P_S表,其中包含了哪些内容?
  9. replication_applier_status_by_worker中LAST_SEEN_TRANSACTION列的值代表什么?

检查复制相关的信息

主库

检查同步使用的线程

mysql> SHOW PROCESSLIST \G;
*************************** 4. row ***************************
     Id: 10
   User: root
   Host: slave1:58371
     db: NULL
Command: Binlog Dump
   Time: 777
  State: Has sent all binlog to slave; waiting for binlog to be updated
   Info: NULL

mysql> SELECT * FROM performance_schema.threads WHERE processlist_command='Binlog Dump'\G
*************************** 1. row ***************************
          THREAD_ID: 4738497
               NAME: thread/sql/one_connection
               TYPE: FOREGROUND
     PROCESSLIST_ID: 4738476
   PROCESSLIST_USER: repl
   PROCESSLIST_HOST: 192.168.1.100
     PROCESSLIST_DB: NULL
PROCESSLIST_COMMAND: Binlog Dump
   PROCESSLIST_TIME: 334217
  PROCESSLIST_STATE: Master has sent all binlog to slave; waiting for more updates
   PROCESSLIST_INFO: NULL
   PARENT_THREAD_ID: NULL
               ROLE: NULL
       INSTRUMENTED: YES
            HISTORY: YES
    CONNECTION_TYPE: TCP/IP
       THREAD_OS_ID: 7412

检查连接到该主库的从库信息

mysql> SHOW SLAVE HOSTS;
+-----------+------+------+-----------+--------------------------------------+
| Server_id | Host | Port | Master_id | Slave_UUID                           |
+-----------+------+------+-----------+--------------------------------------+
|       521 |      | 3306 |         1 | c92c2f8f-69d4-11ea-9aef-005056b0ee80 |
+-----------+------+------+-----------+--------------------------------------+

SHOW SLAVE HOSTS的结果可以根据主库/从库上的配置进行变更

  • 主库
    --show-slave-auth-info 在结果中增加UserPassword列,显示从库连接用户的信息
  • 从库
    可以通过一系列--report-*选项设置在主库的SHOW SLAVE HOSTS结果中显示的值,可以不和实际配置相同。
    --report-host 指定显示在Host列的值,默认为空
    --report-port 指定显示在Port列的值,默认为实际端口号
    --report-user 指定显示在User列的值,默认为空
    --report-passrowd 指定显示在Password列的值,默认为空

从库

检查复制状态

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.100
                  Master_User: rep
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000944
          Read_Master_Log_Pos: 678537245
               Relay_Log_File: mysqld-relay-bin.001361
                Relay_Log_Pos: 901225284
        Relay_Master_Log_File: mysql-bin.000892
             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: 901225071
              Relay_Log_Space: 63050164162
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 190330
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
                  Master_UUID: 9f793d8c-b297-11e9-8b04-005056860daf
             Master_Info_File: mysql.slave_master_info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: System lock
           Master_Retry_Count: 86400
                  Master_Bind: 
      Last_IO_Error_Timestamp: 
     Last_SQL_Error_Timestamp: 
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
           Retrieved_Gtid_Set: 
            Executed_Gtid_Set: 
                Auto_Position: 0
         Replicate_Rewrite_DB: 
                 Channel_Name: 
           Master_TLS_Version: 

需要关注的信息:
从库线程状态

  • Slave_IO_RunningSlave_SQL_Running 从库的IO和SQL线程是否正在运行。正常值应该为YES
  • Slave_IO_StateSlave_SQL_State 从库的线程状态
  • Last_IO_ErrorLast_SQL_Error 最后出现的从库线程错误,正常值应该为空
  • Seconds_Behind_Master 从库SQL线程落后与主库二进制日志的秒数。该值是通过对比SQL线程正在执行的中继日志事务时间和IO线程获取到的最新二进制日志事务时间得到的,不能体现网络延迟,所以值为0不代表一定没有延迟

日志状态

  • (Master_Log_file, Read_Master_Log_Pos)IO线程读取的主库的二进制日志坐标
  • (Relay_Master_Log_File, Exec_Master_Log_Pos)SQL线程正在执行的主库的二进制日志坐标
  • (Relay_Log_File, Relay_Log_Pos) SQL线程正在执行的从库的中继日志坐标

重连信息

  • Connect_Retry 丢失主库连接后的重试时间
  • Master_Retry_Count 丢失主库连接后的重试次数

关于复制的状态信息

mysql> show status like 'Slave%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| Slave_open_temp_tables | 0     |
+------------------------+-------+

Performance_schema提供的关于复制的信息

复制连接信息

  • replication_connection_configuration 连接主库的配置参数
    SHOW SLAVE STATUS相比,额外提供了心跳间隔相关的信息(HEARTBEAT_INTERVAL)
  • replication_connection_status 当前与主库的连接状态
    SHOW SLAVE STATUS相比,额外提供了上次心跳时间和心跳次数信息(LAST_HEARTBEAT_TIMESTAMP,COUNT_RECEIVED_HEARTBEATS)

应用日志情况

  • replication_applier_configuration 从库上应用事务的配置
    显示了MASTER_DELAY信息(DESIRED_DELAY)
  • replication_applier_status 从库上应用事务的状态
    SHOW SLAVE STATUS相比,额外提供从库重试应用事务的次数(COUNT_TRANSACTIONS_RETRIES)
多线程复制情况
  • replication_applier_status_by_coordinator
    多线程复制的协调器工作情况,当slave_parallel_workers=0时复制是单线程的,该表结果为空
  • replication_applier_status_by_worker
    单线程复制中SQL线程的状态/多线程复制中工作线程的状态
    需要关注LAST_SEEN_TRANSACTION列,表示工作线程最后处理的一个事务,这个事务可能没有提交,仍在进行中。
    gtid_mode=OFF时,该列为ANONYMOUS
    gtid_mode=ON时:
    • 如过没有事务执行,该列为空
    • 当事务开始执行时,该列值等于gtid_next,事务执行完毕后不会更新该值。
    • 在下一个事务执行时更新该列值。
复制过滤情况
  • replication_applier_global_filters (8.0)

  • replication_applier_filters (8.0)

组复制相关信息

  • replication_group_members
  • replication_group_member_stats

检查复制连接信息

#包括连接重试时间、重试次数及心跳间隔
#心跳间隔默认情况下等于Connect_Retry/2
mysql> select * from performance_schema.replication_connection_configuration\G
*************************** 1. row ***************************
                 CHANNEL_NAME: 
                         HOST: 192.168.1.100
                         PORT: 3306
                         USER: rep
            NETWORK_INTERFACE: 
                AUTO_POSITION: 0
                  SSL_ALLOWED: NO
                  SSL_CA_FILE: 
                  SSL_CA_PATH: 
              SSL_CERTIFICATE: 
                   SSL_CIPHER: 
                      SSL_KEY: 
SSL_VERIFY_SERVER_CERTIFICATE: NO
                 SSL_CRL_FILE: 
                 SSL_CRL_PATH: 
    CONNECTION_RETRY_INTERVAL: 60 #连接重试时间
       CONNECTION_RETRY_COUNT: 86400 #连接重试次数
           HEARTBEAT_INTERVAL: 30.000 #心跳时间
                  TLS_VERSION: 
1 row in set (0.00 sec)

检查复制连接状态


#包括心跳次数、上次心跳连接时间
mysql> select * from performance_schema.replication_connection_status\G
*************************** 1. row ***************************
             CHANNEL_NAME: 
               GROUP_NAME: 
              SOURCE_UUID: bb4b28c0-cc47-11e8-a38f-20040fe734f0
                THREAD_ID: 34
            SERVICE_STATE: ON #slave_running
COUNT_RECEIVED_HEARTBEATS: 1202924
 LAST_HEARTBEAT_TIMESTAMP: 2020-04-14 11:48:33
 RECEIVED_TRANSACTION_SET: 
        LAST_ERROR_NUMBER: 0
       LAST_ERROR_MESSAGE: 
     LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00

从库日志

从库创建两个日志来记录主库信息和中继日志信息
通过master-info-repositoryrelay-log-info-repository选项可以控制将这两个日志记录到文件或者表中。

  • FILE
    MySQL5.7-默认值
    日志保存在datadirmaster.inforelay-log.info文件中。可以使用--master-info-file--relay-log-info-file选项来更改文件位置和名称。
  • TABLE
    MySQL8.0+的默认值
    日志保存在mysql.slave_master_infomysql.slave_relay_log_info表中

在从库上,还会额外创建一个供内部使用的从库状态日志,保存有关多线程复制上的工作线程的状态,这个日志根据relay-log-info-repository的值确定保存在文件/表中。当值为TABLE时,保存在mysql.slave_worker_info中,当值为FILE时,保存在worker-relay-log.info文件中。performance_schema.replication_applier_status_by_worker表提供了供外部使用的工作线程信息

在备份从库时,需要备份这两个日志和中继日志文件,以在从库还原数据库后用来恢复复制。
检查主库信息

mysql> select * from mysql.slave_master_info\G
*************************** 1. row ***************************
       Number_of_lines: 25
       Master_log_name: mysql-bin.000944
        Master_log_pos: 583723012
                  Host: 192.168.1.100
             User_name: rep #复制账号
         User_password: password #复制账号密码
                  Port: 3306
         Connect_retry: 60
           Enabled_ssl: 0
                Ssl_ca: 
            Ssl_capath: 
              Ssl_cert: 
            Ssl_cipher: 
               Ssl_key: 
Ssl_verify_server_cert: 0
             Heartbeat: 30
                  Bind: 
    Ignored_server_ids: 0
                  Uuid: 9f793d8c-b297-11e9-8b04-005056860daf
           Retry_count: 86400
               Ssl_crl: 
           Ssl_crlpath: 
 Enabled_auto_position: 0
          Channel_name: 
           Tls_version: 

检查中继日志信息

mysql> select * from mysql.slave_relay_log_info\G
*************************** 1. row ***************************
  Number_of_lines: 7
   Relay_log_name: /home/data/mysql3306/relay_log/mysqld-relay-bin.001334
    Relay_log_pos: 543150366
  Master_log_name: mysql-bin.000883
   Master_log_pos: 543150153
        Sql_delay: 0
Number_of_workers: 0
               Id: 1
     Channel_name: 

问题答案

  1. 如何检查复制状态,需要重点关注哪些内容?
    SHOW SLAVE STATUS,需要关注以下信息

    • Slave_IO_RunningSlave_SQL_Running均为Yes表示复制正在正常运行
    • Senconds_Behind_Master表示SQL线程没有延迟
    • Master_Log_File,Relay_Master_Log_FileRead_Master_Log_Pos,Exec_Master_Log_Pos相同表示主从同步没有延迟

    如果Slave_IO_RunningSlave_SQL_Running值为No,还要查看Last_IO_ErrorLast_SQL_Error检查发生了什么错误

  2. 如何在主库上查询连接到该主库的从库信息,详细信息可以通过哪些选项进行配置?
    可以通过查看是否有Binlog Dump线程来查看是否存在从库,在查看线程时可以看到从库的IP地址。还可以通过SHOW SLAVE HOSTS语句查看当前有多少个从库连接到本数据库。
    配置SHOW SLAVE HOSTS显示的结果:
    主库:--show-slave-auth-info,在结果中展示UserPassword
    从库:--report-host,--report-port,--report-user,--report-password

  3. 在从库上能够查询到哪些主库相关的信息,这些信息都存储在什么位置?如何进行查询和更改?
    使用CHAGNE MASTER TO语句设置的信息都能够查询到,大部分信息可以通过SHOW SLAVE STATUS进行查询。
    除此以外,主库还维护了记录主库和中继日志的信息,根据master_info_repositoryrelay_log_info_repository的配置,保存表或文件中,这其中包括了复制使用的账号和明文密码
    TABLEmysql.slave_master_infomysql.slave_relay_log_info
    FILE:数据目录的master.inforelay_log.info文件中

  4. P_S提供了哪些表用来监控复制相关的信息?这些表可以分为几种?

  • 主库连接相关信息replication_connection_configuration, replacation_connection_status
  • 从库应用日志相关信息 replication_applier_configuration,replication_applier_status,replication_applier_status_by_worker
  • 多线程从库相关信息 replication_applier_status_by_coordinator,replication_applier_status_by_worker
  • 从库过滤器相关信息 (MySQL8.0+)replication_applier_filters,replication_applier_global_filters
  • 组复制相关信息 replication_group_members,replication_group_member_stats
  1. P_S中哪些表提供了主库相关的信息,其中包含了哪些内容?
    replication_connection_configuration 包括host,port,user,bind,auto_position,SSL相关信息,connection_retry_time,count,心跳时间
    replication_connection_staus 包括通道名称,组名称,主库UUID,线程状态,接收到的事务集合,上次心跳时间和心跳次数,IO线程错误消息
mysql> desc replication_connection_configuration;
+-------------------------------+----------------------------+------+-----+---------+-------+
| Field                         | Type                       | Null | Key | Default | Extra |
+-------------------------------+----------------------------+------+-----+---------+-------+
| CHANNEL_NAME                  | char(64)                   | NO   |     | NULL    |       |
| HOST                          | char(60)                   | NO   |     | NULL    |       |
| PORT                          | int(11)                    | NO   |     | NULL    |       |
| USER                          | char(32)                   | NO   |     | NULL    |       |
| NETWORK_INTERFACE             | char(60)                   | NO   |     | NULL    |       |
| AUTO_POSITION                 | enum('1','0')              | NO   |     | NULL    |       |
| SSL_ALLOWED                   | enum('YES','NO','IGNORED') | NO   |     | NULL    |       |
| SSL_CA_FILE                   | varchar(512)               | NO   |     | NULL    |       |
| SSL_CA_PATH                   | varchar(512)               | NO   |     | NULL    |       |
| SSL_CERTIFICATE               | varchar(512)               | NO   |     | NULL    |       |
| SSL_CIPHER                    | varchar(512)               | NO   |     | NULL    |       |
| SSL_KEY                       | varchar(512)               | NO   |     | NULL    |       |
| SSL_VERIFY_SERVER_CERTIFICATE | enum('YES','NO')           | NO   |     | NULL    |       |
| SSL_CRL_FILE                  | varchar(255)               | NO   |     | NULL    |       |
| SSL_CRL_PATH                  | varchar(255)               | NO   |     | NULL    |       |
| CONNECTION_RETRY_INTERVAL     | int(11)                    | NO   |     | NULL    |       |
| CONNECTION_RETRY_COUNT        | bigint(20) unsigned        | NO   |     | NULL    |       |
| HEARTBEAT_INTERVAL            | double(10,3) unsigned      | NO   |     | NULL    |       |
| TLS_VERSION                   | varchar(255)               | NO   |     | NULL    |       |
+-------------------------------+----------------------------+------+-----+---------+-------+
19 rows in set (0.00 sec)

mysql> desc replication_connection_status;
+---------------------------+-------------------------------+------+-----+---------------------+-----------------------------+
| Field                     | Type                          | Null | Key | Default             | Extra                       |
+---------------------------+-------------------------------+------+-----+---------------------+-----------------------------+
| CHANNEL_NAME              | char(64)                      | NO   |     | NULL                |                             |
| GROUP_NAME                | char(36)                      | NO   |     | NULL                |                             |
| SOURCE_UUID               | char(36)                      | NO   |     | NULL                |                             |
| THREAD_ID                 | bigint(20) unsigned           | YES  |     | NULL                |                             |
| SERVICE_STATE             | enum('ON','OFF','CONNECTING') | NO   |     | NULL                |                             |
| COUNT_RECEIVED_HEARTBEATS | bigint(20) unsigned           | NO   |     | 0                   |                             |
| LAST_HEARTBEAT_TIMESTAMP  | timestamp                     | NO   |     | CURRENT_TIMESTAMP   | on update CURRENT_TIMESTAMP |
| RECEIVED_TRANSACTION_SET  | longtext                      | NO   |     | NULL                |                             |
| LAST_ERROR_NUMBER         | int(11)                       | NO   |     | NULL                |                             |
| LAST_ERROR_MESSAGE        | varchar(1024)                 | NO   |     | NULL                |                             |
| LAST_ERROR_TIMESTAMP      | timestamp                     | NO   |     | 0000-00-00 00:00:00 |                             |
+---------------------------+-------------------------------+------+-----+---------------------+-----------------------------+
11 rows in set (0.00 sec)
  1. P_S中哪些表提供了复制应用日志相关的信息,其中包含哪些内容?
    replication_applier_configuration 包括包括通道名称,从库强制延迟时间
    replication_applier_status 包括包括通道名称,SQL线程状态,等待从库的延迟时间,事务重试次数
    replication_applier_status_by_worker包括包括通道名称,工作线程ID,线程ID,SQL线程状态,最后执行的事务GTID,SQL线程错误信息
mysql> desc replication_applier_configuration;
+---------------+----------+------+-----+---------+-------+
| Field         | Type     | Null | Key | Default | Extra |
+---------------+----------+------+-----+---------+-------+
| CHANNEL_NAME  | char(64) | NO   |     | NULL    |       |
| DESIRED_DELAY | int(11)  | NO   |     | NULL    |       |
+---------------+----------+------+-----+---------+-------+
2 rows in set (0.00 sec)

mysql> desc replication_applier_status;
+----------------------------+---------------------+------+-----+---------+-------+
| Field                      | Type                | Null | Key | Default | Extra |
+----------------------------+---------------------+------+-----+---------+-------+
| CHANNEL_NAME               | char(64)            | NO   |     | NULL    |       |
| SERVICE_STATE              | enum('ON','OFF')    | NO   |     | NULL    |       |
| REMAINING_DELAY            | int(10) unsigned    | YES  |     | NULL    |       |
| COUNT_TRANSACTIONS_RETRIES | bigint(20) unsigned | NO   |     | NULL    |       |
+----------------------------+---------------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql> desc replication_applier_status_by_worker;
+-----------------------+---------------------+------+-----+-------------------+-----------------------------+
| Field                 | Type                | Null | Key | Default           | Extra                       |
+-----------------------+---------------------+------+-----+-------------------+-----------------------------+
| CHANNEL_NAME          | char(64)            | NO   |     | NULL              |                             |
| WORKER_ID             | bigint(20) unsigned | NO   |     | NULL              |                             |
| THREAD_ID             | bigint(20) unsigned | YES  |     | NULL              |                             |
| SERVICE_STATE         | enum('ON','OFF')    | NO   |     | NULL              |                             |
| LAST_SEEN_TRANSACTION | char(57)            | NO   |     | NULL              |                             |
| LAST_ERROR_NUMBER     | int(11)             | NO   |     | NULL              |                             |
| LAST_ERROR_MESSAGE    | varchar(1024)       | NO   |     | NULL              |                             |
| LAST_ERROR_TIMESTAMP  | timestamp           | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-----------------------+---------------------+------+-----+-------------------+-----------------------------+
8 rows in set (0.00 sec)
  1. P_S中哪些表提供了关于组复制相关的信息,其中包含了哪些内容?
    replication_group_members 包括通道名称,成员ID,host ,port成员状态
    replication_group_member_stats
mysql> desc replication_group_members;
+--------------+----------+------+-----+---------+-------+
| Field        | Type     | Null | Key | Default | Extra |
+--------------+----------+------+-----+---------+-------+
| CHANNEL_NAME | char(64) | NO   |     | NULL    |       |
| MEMBER_ID    | char(36) | NO   |     | NULL    |       |
| MEMBER_HOST  | char(60) | NO   |     | NULL    |       |
| MEMBER_PORT  | int(11)  | YES  |     | NULL    |       |
| MEMBER_STATE | char(64) | NO   |     | NULL    |       |
+--------------+----------+------+-----+---------+-------+
5 rows in set (0.00 sec)

mysql> desc replication_group_member_stats;           
+------------------------------------+---------------------+------+-----+---------+-------+
| Field                              | Type                | Null | Key | Default | Extra |
+------------------------------------+---------------------+------+-----+---------+-------+
| CHANNEL_NAME                       | char(64)            | NO   |     | NULL    |       |
| VIEW_ID                            | char(60)            | NO   |     | NULL    |       |
| MEMBER_ID                          | char(36)            | NO   |     | NULL    |       |
| COUNT_TRANSACTIONS_IN_QUEUE        | bigint(20) unsigned | NO   |     | NULL    |       |
| COUNT_TRANSACTIONS_CHECKED         | bigint(20) unsigned | NO   |     | NULL    |       |
| COUNT_CONFLICTS_DETECTED           | bigint(20) unsigned | NO   |     | NULL    |       |
| COUNT_TRANSACTIONS_ROWS_VALIDATING | bigint(20) unsigned | NO   |     | NULL    |       |
| TRANSACTIONS_COMMITTED_ALL_MEMBERS | longtext            | NO   |     | NULL    |       |
| LAST_CONFLICT_FREE_TRANSACTION     | text                | NO   |     | NULL    |       |
+------------------------------------+---------------------+------+-----+---------+-------+
9 rows in set (0.00 sec)
  1. 在MySQL8.0中增加了关于复制什么信息相关的P_S表,其中包含了哪些内容?
    关于复制过滤器信息的表
    replication_applier_filters 包括通道名称,过滤器名称,过滤规则,过滤规则被谁配置,启用时间,已经运行了多长时间
    replication_applier_global_filters 包括通道名称,过滤器名称,过滤规则,过滤规则被谁配置,启用时间
mysql> desc replication_applier_filters;
+---------------+---------------------------------------------------------------------------------------------------------------------------+------+-----+----------------------------+-------+
| Field         | Type                                                                                                                      | Null | Key | Default                    | Extra |
+---------------+---------------------------------------------------------------------------------------------------------------------------+------+-----+----------------------------+-------+
| CHANNEL_NAME  | char(64)                                                                                                                  | NO   |     | NULL                       |       |
| FILTER_NAME   | char(64)                                                                                                                  | NO   |     | NULL                       |       |
| FILTER_RULE   | longtext                                                                                                                  | NO   |     | NULL                       |       |
| CONFIGURED_BY | enum('STARTUP_OPTIONS','CHANGE_REPLICATION_FILTER','STARTUP_OPTIONS_FOR_CHANNEL','CHANGE_REPLICATION_FILTER_FOR_CHANNEL') | NO   |     | NULL                       |       |
| ACTIVE_SINCE  | timestamp(6)                                                                                                              | NO   |     | 0000-00-00 00:00:00.000000 |       |
| COUNTER       | bigint unsigned                                                                                                           | NO   |     | 0                          |       |
+---------------+---------------------------------------------------------------------------------------------------------------------------+------+-----+----------------------------+-------+
6 rows in set (0.04 sec)

mysql> desc replication_applier_global_filters;
+---------------+-----------------------------------------------------+------+-----+----------------------------+-------+
| Field         | Type                                                | Null | Key | Default                    | Extra |
+---------------+-----------------------------------------------------+------+-----+----------------------------+-------+
| FILTER_NAME   | char(64)                                            | NO   |     | NULL                       |       |
| FILTER_RULE   | longtext                                            | NO   |     | NULL                       |       |
| CONFIGURED_BY | enum('STARTUP_OPTIONS','CHANGE_REPLICATION_FILTER') | NO   |     | NULL                       |       |
| ACTIVE_SINCE  | timestamp(6)                                        | NO   |     | 0000-00-00 00:00:00.000000 |       |
+---------------+-----------------------------------------------------+------+-----+----------------------------+-------+
4 rows in set (0.15 sec)

  1. replication_applier_status_by_worker中LAST_SEEN_TRANSACTION列的值是如何更新的?表示什么?
    表示工作线程最后处理的一个事务,这个事务可能没有提交,仍在进行中。
    gtid_mode=OFF时,该列为ANONYMOUS
    gtid_mode=ON时:
    • 如过没有事务执行,该列为空
    • 当事务开始执行时,该列值等于gtid_next,事务执行完毕后不会更新该值。
    • 在下一个事务执行时更新该列值。

相关文章

网友评论

      本文标题:MySQL复制-复制相关信息的存储及查询

      本文链接:https://www.haomeiwen.com/subject/vrszmhtx.html