29.12.11 Таблицы репликации Performance Schema
- 29.12.11.1 Таблица binary_log_transaction_compression_stats
- 29.12.11.2 Таблица replication_applier_configuration
- 29.12.11.3 Таблица replication_applier_filters
- 29.12.11.4 Таблица replication_applier_global_filters
- 29.12.11.5 Таблица replication_applier_status
- 29.12.11.6 Таблица replication_applier_status_by_coordinator
- 29.12.11.7 Таблица replication_applier_status_by_worker
- 29.12.11.8 Таблица replication_asynchronous_connection_failover
- 29.12.11.9 Таблица replication_asynchronous_connection_failover_managed
- 29.12.11.10 Таблица replication_group_communication_information
- 29.12.11.11 Таблица replication_connection_configuration
- 29.12.11.12 Таблица replication_group_configuration_version
- 29.12.11.13 Таблица replication_connection_status
- 29.12.11.14 Таблица replication_group_member_actions
- 29.12.11.15 Таблица replication_group_member_stats
- 29.12.11.16 Таблица replication_group_members
Модуль Performance Schema предоставляет таблицы, которые отображают информацию о репликации. Это аналогично информации, доступной из оператора SHOW
REPLICA STATUS, но представление в виде таблиц более доступно и удобнее в использовании:
Вывод оператора
SHOW REPLICA STATUSудобен для визуального осмотра, но не очень подходит для программирования. В отличие от этого, используя таблицы Performance Schema, информацию о состоянии реплики можно искать с помощью общих запросовSELECT, включая сложныеWHEREусловия, объединения и т. д.Результаты запросов можно сохранить в таблицы для дальнейшего анализа или присвоить переменным и, таким образом, использовать в хранимых процедурах.
Таблицы репликации предоставляют более подробную диагностическую информацию. При многопоточной работе реплики оператор
SHOW REPLICA STATUSсообщает обо всех ошибках потоков координатора и рабочих потоков, используя поляLast_SQL_ErrnoиLast_SQL_Error, поэтому видна только самая последняя из этих ошибок, и информация может быть потеряна. Таблицы репликации хранят ошибки по каждому потоку без потери информации.Последняя обработанная транзакция видна в таблицах репликации для каждого рабочего потока. Эта информация недоступна из оператора
SHOW REPLICA STATUS.Разработчики, знакомые с интерфейсом Performance Schema, могут расширить таблицы репликации, предоставив дополнительную информацию, добавив строки в таблицы.
Описание таблиц репликации
Модуль Performance Schema предоставляет следующие таблицы, связанные с репликацией:
-
Таблицы, содержащие информацию о соединении реплики с источником:
replication_connection_configuration: Параметры конфигурации для подключения к источникуreplication_connection_status: Текущее состояние подключения к источникуreplication_asynchronous_connection_failover: Список источников для механизма резервного копирования асинхронного подключения
-
Таблицы, содержащие общую (не зависящую от потока) информацию о прикладной программе транзакций:
replication_applier_configuration: Параметры конфигурации для приложения транзакций на реплике.replication_applier_status: Текущее состояние приложения транзакций на реплике.
-
Таблицы, содержащие информацию о конкретных потоках, ответственных за применение транзакций, полученных от источника:
replication_applier_status_by_coordinator: Состояние координаторного потока (пусто, если реплика не многопоточная).replication_applier_status_by_worker: Состояние потока приложения или рабочих потоков, если реплика многопоточная.
-
Таблицы, содержащие информацию о фильтрах репликации на основе каналов:
replication_applier_filters: Предоставляет информацию о фильтрах репликации, настроенных на определённых каналах репликации.replication_applier_global_filters: Предоставляет информацию о глобальных фильтрах репликации, которые применяются ко всем каналам репликации.
-
Таблицы, содержащие информацию о участниках репликации Group Replication:
replication_group_members: Предоставляет сетевую и статусную информацию для участников группы.replication_group_member_stats: Предоставляет статистическую информацию о членах группы и транзакциях, в которых они участвуют.
Дополнительную информацию см. в Раздел 20.4, «Мониторинг Group Replication».
Следующие таблицы репликации Performance Schema продолжают заполняться, когда Performance Schema отключён:
Исключение составляют сведения о локальном времени (начальные и конечные метки времени транзакций) в таблицах репликации replication_connection_status, replication_applier_status_by_coordinator и replication_applier_status_by_worker. Эти сведения не собираются, когда Performance Schema отключен.
В следующих разделах описывается каждая таблица репликации более подробно, включая соответствие между столбцами, создаваемыми командой SHOW
REPLICA STATUS, и столбцами таблиц репликации, в которых отображается та же информация.
Остальная часть этого введения в таблицы репликации описывает, как Performance Schema заполняет их, и какие поля из SHOW
REPLICA STATUS не представлены в таблицах.
Жизненный цикл таблиц репликации
Performance Schema заполняет таблицы репликации следующим образом:
Перед выполнением команды
CHANGE REPLICATION SOURCE TOтаблицы пустые.После команды
CHANGE REPLICATION SOURCE TOпараметры конфигурации отображаются в таблицах. В этот момент активных потоков репликации нет, поэтому столбцыTHREAD_IDимеют значениеNULL, а столбцыSERVICE_STATEимеют значениеOFF.После команды
START REPLICAможно увидеть ненулевые значенияTHREAD_ID. Для потоков, которые простаивают или активны, значениеSERVICE_STATEравноON. Для потока, подключающегося к источнику, значение равноCONNECTINGво время установления соединения иONв дальнейшем, пока соединение сохраняется.После команды
STOP REPLICAстолбцыTHREAD_IDстановятсяNULL, а столбцыSERVICE_STATEдля потоков, которые больше не существуют, имеют значениеOFF.Таблицы сохраняются после команды
STOP REPLICAили остановки потоков из-за ошибки.Таблица
replication_applier_status_by_workerне пуста только в том случае, если реплика работает в многопоточном режиме. То есть, если системная переменнаяreplica_parallel_workersбольше 0, эта таблица заполняется при выполнении командыSTART REPLICA, а количество строк соответствует количеству рабочих потоков.
Информация о состоянии реплики, отсутствующая в таблицах репликации
Информация в таблицах репликации Performance Schema несколько отличается от информации, доступной с помощью команды SHOW
REPLICA STATUS, так как таблицы ориентированы на использование глобальных идентификаторов транзакций (GTID), а не имен и позиций файлов, и они представляют значения UUID сервера, а не значения ID сервера. Из-за этих различий некоторые столбцы команды SHOW
REPLICA STATUS не сохраняются в таблицах репликации Performance Schema или представляются по-другому:
-
Следующие поля относятся к именам и позициям файлов и не сохраняются:
Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Exec_Master_Log_Pos Until_Condition Until_Log_File Until_Log_Pos
Поле
Master_Info_Fileне сохраняется. Оно относится к файлуmaster.info, используемому для репозитория метаданных источника реплики, который был заменен использованием безопасных к сбоям таблиц для репозитория.-
Следующие поля основаны на системной переменной
server_id, а неserver_uuidи не сохраняются:Master_Server_Id Replicate_Ignore_Server_Ids
Поле
Skip_Counterосновано на счетчиках событий, а не на GTID, и не сохраняется.-
Следующие поля ошибок являются псевдонимами для
Last_SQL_ErrnoиLast_SQL_Error, поэтому они не сохраняются:Last_Errno Last_Error
В Performance Schema эта информация об ошибках доступна в столбцах
LAST_ERROR_NUMBERиLAST_ERROR_MESSAGEтаблицыreplication_applier_status_by_worker(иreplication_applier_status_by_coordinator, если реплика многопоточная). Эти таблицы предоставляют более подробную информацию об ошибках для каждого потока, чем та, которая доступна с помощьюLast_ErrnoиLast_Error. -
Поля, содержащие информацию о фильтрах командной строки, не сохраняются:
Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table
Поля
Replica_IO_StateиReplica_SQL_Running_Stateне сохраняются. Если необходимо, эти значения можно получить из списка процессов, используя столбецTHREAD_IDсоответствующей таблицы репликации и объединяя его со столбцомIDв таблицеINFORMATION_SCHEMAPROCESSLISTдля выбора столбцаSTATEпоследней таблицы.Поле
Executed_Gtid_Setможет отображать большой набор текста. Вместо этого таблицы Performance Schema отображают GTID транзакций, которые в настоящее время применяются репликой. Альтернативно, набор выполненных GTID можно получить из значения системной переменнойgtid_executed.Поля
Seconds_Behind_MasterиRelay_Log_Spaceнаходятся на стадии обсуждения и не сохраняются.
Каналы репликации
Первый столбец таблиц репликации Performance Schema — CHANNEL_NAME. Это позволяет просматривать таблицы по каналу репликации. В настройке репликации без нескольких источников существует единственный канал репликации по умолчанию. При использовании нескольких каналов репликации на реплике можно фильтровать таблицы по каналу репликации для мониторинга определенного канала репликации. Дополнительная информация представлена в Разделе 19.2.2, «Каналы репликации» и Разделе 19.1.5.8, «Мониторинг репликации из нескольких источников».
© 2025 Oracle
Licensed under the GPLv2 License.