29.12.11.7 Таблица replication_applier_status_by_worker
Данная таблица содержит подробные сведения о транзакциях, обработанных потоками-применителями на реплике или в группе репликации. Для реплики с одним потоком данных отображаются данные для единственного потока-применителя реплики. Для реплики с несколькими потоками данные отображаются индивидуально для каждого потока-применителя. Потоки-применители на реплике с несколькими потоками иногда называются работниками. Количество потоков-применителей на реплике или в группе репликации задаётся системной переменной replica_parallel_workers, которая устанавливается в ноль для реплики с одним потоком. Реплика с несколькими потоками также имеет координаторный поток для управления потоками-применителями, и статус этого потока отображается в таблице replication_applier_status_by_coordinator.
Все коды и сообщения об ошибках, отображаемые в столбцах, относящихся к ошибкам, соответствуют значениям ошибок, перечисленным в .
Когда Performance Schema отключён, локальная информация о времени не собирается, поэтому поля, показывающие временные метки начала и окончания применённых транзакций, равны нулю. Временные метки начала в этой таблице относятся к моменту, когда работник начал применение первого события, а временные метки окончания — к моменту применения последнего события транзакции.
Когда реплика перезапускается с помощью оператора START
REPLICA, столбцы, начинающиеся с APPLYING_TRANSACTION, сбрасываются.
Таблица replication_applier_status_by_worker содержит следующие столбцы:
-
CHANNEL_NAMEКанал репликации, отображаемый в этой строке. Всегда есть основной канал репликации, и можно добавить дополнительные каналы. Более подробную информацию см. в Разделе 19.2.2, «Каналы репликации».
-
WORKER_IDИдентификатор работника (то же значение, что и в столбце
idтаблицыmysql.slave_worker_info). После выполненияSTOP REPLICA, столбецTHREAD_IDстановитсяNULL, но значениеWORKER_IDсохраняется. -
THREAD_IDИдентификатор потока работника.
-
SERVICE_STATEON(поток существует и активен или в ожидании) илиOFF(поток больше не существует). -
LAST_ERROR_NUMBER,LAST_ERROR_MESSAGEНомер и сообщение об ошибке последней ошибки, которая привела к остановке потока работника. Номер ошибки 0 и пустое сообщение означают «без ошибки». Если значение
LAST_ERROR_MESSAGEне пустое, значения ошибок также отображаются в журнале ошибок реплики.Выполнение
RESET BINARY LOGS AND GTIDSилиRESET REPLICAсбрасывает значения, показанные в этих столбцах. -
LAST_ERROR_TIMESTAMPВременная метка в формате
', показывающая, когда произошла последняя ошибка работника.YYYY-MM-DD hh:mm:ss[.fraction]' -
LAST_APPLIED_TRANSACTIONГлобальный идентификатор транзакции (GTID) последней применённой транзакции этим работником.
-
LAST_APPLIED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMPВременная метка в формате
', показывающая, когда последняя применённая транзакция этим работником была подтверждена на исходном источнике.YYYY-MM-DD hh:mm:ss[.fraction]' -
LAST_APPLIED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMPВременная метка в формате
', показывающая, когда последняя применённая транзакция этим работником была подтверждена на непосредственном источнике.YYYY-MM-DD hh:mm:ss[.fraction]' -
LAST_APPLIED_TRANSACTION_START_APPLY_TIMESTAMPВременная метка в формате
', показывающая, когда этот работник начал применение последней применённой транзакции.YYYY-MM-DD hh:mm:ss[.fraction]' -
LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMPВременная метка в формате
', показывающая, когда этот работник закончил применение последней применённой транзакции.YYYY-MM-DD hh:mm:ss[.fraction]' -
APPLYING_TRANSACTIONГлобальный идентификатор транзакции (GTID) транзакции, которую этот работник в данный момент применяет.
-
APPLYING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMPВременная метка в формате
', показывающая, когда транзакция, которую в данный момент применяет этот работник, была подтверждена на исходном источнике.YYYY-MM-DD hh:mm:ss[.fraction]' -
APPLYING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMPВременная метка в формате
', показывающая, когда транзакция, которую в данный момент применяет этот работник, была подтверждена на непосредственном источнике.YYYY-MM-DD hh:mm:ss[.fraction]' -
APPLYING_TRANSACTION_START_APPLY_TIMESTAMPВременная метка в формате
', показывающая, когда этот работник начал первую попытку применения транзакции, которая в данный момент применяется.YYYY-MM-DD hh:mm:ss[.fraction]' -
LAST_APPLIED_TRANSACTION_RETRIES_COUNTКоличество раз, когда последняя применённая транзакция была повторно выполнена работником после первой попытки. Если транзакция была применена с первой попытки, это число равно нулю.
-
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBERНомер ошибки последней временной ошибки, которая привела к повторному выполнению транзакции.
-
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGEТекст сообщения о последней временной ошибке, которая привела к повторному выполнению транзакции.
-
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMPВременная метка в формате
'для последней временной ошибки, которая привела к повторному выполнению транзакции.YYYY-MM-DD hh:mm:ss[.fraction]' -
APPLYING_TRANSACTION_RETRIES_COUNTКоличество раз, когда транзакция, которая в данный момент применяется, была повторно выполнена до этого момента. Если транзакция была применена с первой попытки, это число равно нулю.
-
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBERНомер ошибки последней временной ошибки, которая привела к повторному выполнению текущей транзакции.
-
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGEТекст сообщения о последней временной ошибке, которая привела к повторному выполнению текущей транзакции.
-
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMPВременная метка в формате
'для последней временной ошибки, которая привела к повторному выполнению текущей транзакции.YYYY-MM-DD hh:mm:ss[.fraction]'
Таблица replication_applier_status_by_worker содержит следующие индексы:
Первичный ключ по (
CHANNEL_NAME,WORKER_ID)Индекс по (
THREAD_ID)
В следующей таблице показано соответствие столбцов таблицы replication_applier_status_by_worker и столбцов оператора SHOW
REPLICA STATUS.
replication_applier_status_by_worker Column |
SHOW REPLICA STATUS Column |
|---|---|
WORKER_ID | None |
THREAD_ID | None |
SERVICE_STATE | None |
LAST_ERROR_NUMBER | Last_SQL_Errno |
LAST_ERROR_MESSAGE | Last_SQL_Error |
LAST_ERROR_TIMESTAMP | Last_SQL_Error_Timestamp |
© 2025 Oracle
Licensed under the GPLv2 License.