MySQL 8.4 Release Notes
19.1.5.8 监控多源复制
要监控复制通道的状态,可以使用以下选项:
-
使用复制性能Schema表。这些表的第一列是
Channel_Name
。这使您可以根据Channel_Name
作为键写入复杂查询。见第29.12.11节,“性能Schema复制表”。 -
使用
SHOW REPLICA STATUS FOR CHANNEL
。默认情况下,如果不使用channel
FOR CHANNEL
子句,这个语句将显示所有通道的复制状态,每个通道占一行。结果集中添加了channel
Channel_name
列。如果提供了FOR CHANNEL
子句,结果将显示指定复制通道的状态。channel
Note
语句SHOW VARIABLES
不适用于多个复制通道。这些变量中的信息已经迁移到复制性能表中。使用SHOW VARIABLES
语句在多个通道拓扑结构中显示的状态将是默认通道的状态。
在启用多源复制时,错误代码和消息将指定生成错误的通道。
19.1.5.8.1 使用性能Schema表监控通道
本节解释如何使用复制性能Schema表来监控通道。您可以选择监控所有通道或通道的子集。
监控所有通道的连接状态:
mysql> SELECT * FROM replication_connection_status\G;
*************************** 1. row ***************************
CHANNEL_NAME: source_1
GROUP_NAME:
SOURCE_UUID: 046e41f8-a223-11e4-a975-0811960cc264
THREAD_ID: 24
SERVICE_STATE: ON
COUNT_RECEIVED_HEARTBEATS: 0
LAST_HEARTBEAT_TIMESTAMP: 0000-00-00 00:00:00
RECEIVED_TRANSACTION_SET: 046e41f8-a223-11e4-a975-0811960cc264:4-37
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00
*************************** 2. row ***************************
CHANNEL_NAME: source_2
GROUP_NAME:
SOURCE_UUID: 7475e474-a223-11e4-a978-0811960cc264
THREAD_ID: 26
SERVICE_STATE: ON
COUNT_RECEIVED_HEARTBEATS: 0
LAST_HEARTBEAT_TIMESTAMP: 0000-00-00 00:00:00
RECEIVED_TRANSACTION_SET: 7475e474-a223-11e4-a978-0811960cc264:4-6
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00
2 rows in set (0.00 sec)
在上面的输出中,有两个通道启用,并且,如 CHANNEL_NAME
字段所示,它们被称为 source_1
和 source_2
。
添加 CHANNEL_NAME
字段使您可以根据特定通道查询性能Schema表。要监控指定通道的连接状态,请使用 WHERE CHANNEL_NAME=
子句:channel
mysql> SELECT * FROM replication_connection_status WHERE CHANNEL_NAME='source_1'\G
*************************** 1. row ***************************
CHANNEL_NAME: source_1
GROUP_NAME:
SOURCE_UUID: 046e41f8-a223-11e4-a975-0811960cc264
THREAD_ID: 24
SERVICE_STATE: ON
COUNT_RECEIVED_HEARTBEATS: 0
LAST_HEARTBEAT_TIMESTAMP: 0000-00-00 00:00:00
RECEIVED_TRANSACTION_SET: 046e41f8-a223-11e4-a975-0811960cc264:4-37
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00
1 row in set (0.00 sec)
类似地,可以使用 WHERE CHANNEL_NAME=
子句来监控其他复制性能Schema表中的特定通道。更多信息,请见第29.12.11节,“性能Schema复制表”。channel