Spec-Zone.ru › MySQL 8.4

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_configuration

  • replication_connection_status

  • replication_asynchronous_connection_failover

  • replication_applier_configuration

  • replication_applier_status

  • replication_applier_status_by_coordinator

  • replication_applier_status_by_worker

END_OF_DOCUMENT_MARKER

Исключение составляют сведения о локальном времени (начальные и конечные метки времени транзакций) в таблицах репликации 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_SCHEMA PROCESSLIST для выбора столбца 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.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/performance-schema-replication-tables.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API