16.1.5.8 多源复制监视

要监视复制通道的状态,存在以下选项:

  • 使用复制性能架构 table。这些 table 的第一列是Channel_Name。这使您可以基于Channel_Name作为关键字编写复杂的查询。参见第 25.12.11 节,“性能架构复制 table”

  • 使用SHOW SLAVE STATUS FOR CHANNEL channel。默认情况下,如果不使用FOR CHANNEL channel子句,此语句将显示所有通道的副本状态,每个通道一行。标识符Channel_name作为结果集的一列添加。如果提供了FOR CHANNEL channel子句,则结果仅显示命名复制通道的状态。

Note

SHOW VARIABLES语句不适用于多个复制通道。通过这些变量可获得的信息已迁移到复制性能 table。在具有多个通道的拓扑中使用SHOW VARIABLES语句仅显示默认通道的状态。

16.1.5.8.1 使用性能架构 table 监视通道

本节说明如何使用复制性能架构 table 来监视通道。您可以选择监视所有通道或现有通道的子集。

要监视所有通道的连接状态:

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_1source_2

CHANNEL_NAME字段的添加使您可以查询特定通道的性能架构 table。要监视命名通道的连接状态,请使用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=channel子句可用于监视特定通道的其他复制性能架构 table。有关更多信息,请参见第 25.12.11 节,“性能架构复制 table”