MySQL :: MySQL 8.0 Reference Manual :: 19.1.5.8 Monitoring Multi-Source Replication (original) (raw)
19.1.5.8 Monitoring Multi-Source Replication
To monitor the status of replication channels the following options exist:
- Using the replication Performance Schema tables. The first column of these tables is
Channel_Name
. This enables you to write complex queries based onChannel_Name
as a key. SeeSection 29.12.11, “Performance Schema Replication Tables”. - Using
SHOW REPLICA STATUS FOR CHANNEL_`channel`_
. By default, if theFOR CHANNEL_`channel`_
clause is not used, this statement shows the replica status for all channels with one row per channel. The identifierChannel_name
is added as a column in the result set. If aFOR CHANNEL_`channel`_
clause is provided, the results show the status of only the named replication channel.
Note
The SHOW VARIABLES statement does not work with multiple replication channels. The information that was available through these variables has been migrated to the replication performance tables. Using aSHOW VARIABLES statement in a topology with multiple channels shows the status of only the default channel.
The error codes and messages that are issued when multi-source replication is enabled specify the channel that generated the error.
19.1.5.8.1 Monitoring Channels Using Performance Schema Tables
This section explains how to use the replication Performance Schema tables to monitor channels. You can choose to monitor all channels, or a subset of the existing channels.
To monitor the connection status of all channels:
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)
In the above output there are two channels enabled, and as shown by the CHANNEL_NAME
field they are calledsource_1
and source_2
.
The addition of the CHANNEL_NAME
field enables you to query the Performance Schema tables for a specific channel. To monitor the connection status of a named channel, use a WHERE CHANNEL_NAME=_`channel`_
clause:
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)
Similarly, the WHERE CHANNEL_NAME=_`channel`_
clause can be used to monitor the other replication Performance Schema tables for a specific channel. For more information, seeSection 29.12.11, “Performance Schema Replication Tables”.