Spec-Zone.ru › MySQL 9.2

29.12.11 Таблицы схемы производительности для репликации

  • 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_metrics
  • 29.12.11.6 Таблица replication_applier_progress_by_worker
  • 29.12.11.7 Таблица replication_applier_status
  • 29.12.11.8 Таблица replication_applier_status_by_coordinator
  • 29.12.11.9 Таблица replication_applier_status_by_worker
  • 29.12.11.10 Таблица replication_asynchronous_connection_failover
  • 29.12.11.11 Таблица replication_asynchronous_connection_failover_managed
  • 29.12.11.12 Таблица replication_connection_configuration
  • 29.12.11.13 Таблица replication_connection_status
  • 29.12.11.14 Таблица replication_group_communication_information
  • 29.12.11.15 Таблица replication_group_configuration_version
  • 29.12.11.16 Таблица replication_group_member_actions
  • 29.12.11.17 Таблица replication_group_member_stats
  • 29.12.11.18 Таблица replication_group_members

Схема производительности предоставляет таблицы, которые показывают информацию о репликации. Это похоже на информацию, доступную из команды SHOW REPLICA STATUS, но представление в виде таблиц более удобно и функционально:

  • Вывод SHOW REPLICA STATUS удобен для визуального осмотра, но не очень подходит для программного использования. В противоположность этому, используя таблицы схемы производительности, информацию о статусе реплики можно искать с помощью общих запросов SELECT, включая сложные WHERE условия, соединения и так далее.

  • Результаты запросов можно сохранить в таблицы для дальнейшего анализа или назначить переменным и, таким образом, использовать в хранимых процедурах.

  • Таблицы репликации предоставляют более подробную диагностическую информацию. Для многопоточной работы реплики, SHOW REPLICA STATUS сообщает обо всех ошибках координатора и потоков-рабочих с помощью полей Last_SQL_Errno и Last_SQL_Error, поэтому видна только самая последняя из этих ошибок, и информация может быть утеряна. Таблицы репликации хранят ошибки на основе каждого потока без потери информации.

  • Последняя обработанная транзакция отображается в таблицах репликации на основе каждого потока-работника. Эта информация недоступна из SHOW REPLICA STATUS.

  • Разработчики, знакомые с интерфейсом схемы производительности, могут расширить таблицы репликации, добавив строки в таблицы, чтобы получить дополнительную информацию.

Примечание

MySQL Enterprise Edition включает два компонента, которые предоставляют информацию, связанную с производительностью репликации. Компонент статистики управления потоком репликации группы позволяет нескольким переменным состояния сервера, которые предоставляют информацию о выполнении управления потоком репликации группы; см. Раздел 7.5.7, «Компонент статистики управления потоком репликации группы». Компонент метрик репликации реализует две таблицы схемы производительности replication_applier_metrics и replication_applier_progress_by_worker, обе из которых описаны позже в этом разделе; для получения информации о компоненте см. Раздел 7.5.6, «Компонент метрик прикладного репликатора».

Описание таблиц репликации

Схема производительности предоставляет следующие таблицы, связанные с репликацией:

  • Таблицы, содержащие информацию о подключении реплики к источнику:

    • 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: Предоставляет информацию о глобальных фильтрах репликации, которые применяются ко всем каналам репликации.

  • Таблицы, содержащие информацию о членах репликации группы:

    • replication_group_members: Предоставляет сетевую и статусную информацию для членов группы.

    • replication_group_member_stats: Предоставляет статистическую информацию о членах группы и транзакциях, в которых они участвуют.

    Более подробная информация представлена в Разделе 20.4, «Мониторинг репликации группы».

Следующие таблицы схемы производительности для репликации продолжают заполняться, даже если схема производительности отключена:

  • 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_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, отличные от NULL. Потоки, которые находятся в состоянии ожидания или активны, имеют значение 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-9.2-en/performance-schema-replication-tables.html

Spec-Zone.ru

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