19.1.5.8 Мониторинг репликации из нескольких источников
Для мониторинга состояния каналов репликации доступны следующие варианты:
Использование таблиц репликации Performance Schema. Первый столбец этих таблиц —
Channel_Name. Это позволяет выполнять сложные запросы, используяChannel_Nameв качестве ключа. См. Раздел 29.12.11, «Таблицы Performance Schema для репликации».Использование
SHOW REPLICA STATUS FOR CHANNEL. По умолчанию, если не используется условиеchannelFOR CHANNEL, это утверждение отображает состояние реплики для всех каналов, по одной строке на канал. ИдентификаторchannelChannel_nameдобавляется в результирующий набор в качестве столбца. Если указано условиеFOR CHANNEL, результаты покажут состояние только указанного канала репликации.channel
Утверждение SHOW VARIABLES не работает с несколькими каналами репликации. Информация, доступная через эти переменные, была перенесена в таблицы производительности репликации. Использование утверждения SHOW VARIABLES в топологии с несколькими каналами показывает состояние только канала по умолчанию.
Коды и сообщения об ошибках, которые выдаются при включении репликации из нескольких источников, указывают канал, который сгенерировал ошибку.
19.1.5.8.1 Мониторинг каналов с использованием таблиц Performance Schema
Этот раздел объясняет, как использовать таблицы репликации Performance 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 позволяет вам запросить таблицы Performance 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= может быть использовано для мониторинга других таблиц репликации Performance Schema для определенного канала. Дополнительную информацию см. в разделе 29.12.11, «Таблицы Performance Schema для репликации».channel
© 2025 Oracle
Licensed under the GPLv2 License.