25.12.11.6 Таблица replication_applier_status_by_worker
Если реплика не многопоточная, эта таблица отображает состояние потока приложения. В противном случае реплика использует несколько рабочих потоков и координаторный поток для их управления, и эта таблица отображает состояние рабочих потоков. Для многопоточной реплики таблица replication_applier_status_by_coordinator отображает состояние координаторного потока.
Таблица replication_applier_status_by_worker имеет следующие столбцы:
-
CHANNEL_NAMEКанал репликации, который отображается в этой строке. Всегда есть канал репликации по умолчанию, и можно добавить больше каналов репликации. Дополнительную информацию см. в Разделе 16.2.2, «Каналы репликации».
-
WORKER_IDИдентификатор рабочего процесса (то же значение, что и в столбце
idтаблицыmysql.slave_worker_info). После выполненияSTOP SLAVE, столбецTHREAD_IDстановитсяNULL, но значениеWORKER_IDсохраняется. -
THREAD_IDИдентификатор потока рабочего процесса.
-
SERVICE_STATEON(поток существует и активен или ожидает) илиOFF(поток больше не существует). -
LAST_SEEN_TRANSACTIONТранзакция, последнюю увиденную рабочим процессом. Рабочий процесс не обязательно применил эту транзакцию, так как она может все еще обрабатываться.
Если значение системной переменной
gtid_modeравноOFF, этот столбец имеет значениеANONYMOUS, указывающее, что транзакции не имеют глобальных идентификаторов транзакций (GTID) и идентифицируются только по файлу и позиции.Если
gtid_modeимеет значениеON, значение столбца определяется следующим образом:Если никакая транзакция не выполнена, столбец пуст.
Когда транзакция выполнена, столбец устанавливается из
gtid_nextкак толькоgtid_nextустановлен. С этого момента столбец всегда отображает GTID.-
GTID сохраняется до тех пор, пока не будет выполнена следующая транзакция. Если произойдет ошибка, значение столбца будет GTID транзакции, выполняемой рабочим процессом при возникновении ошибки. Следующее утверждение показывает, была ли эта транзакция подтверждена или нет:
SELECT GTID_SUBSET(LAST_SEEN_TRANSACTION, @@GLOBAL.GTID_EXECUTED) FROM performance_schema.replication_applier_status_by_worker;
Если утверждение возвращает ноль, транзакция еще не подтверждена, либо она все еще обрабатывается, либо поток рабочего процесса был остановлен во время ее обработки. Если утверждение возвращает ненулевое значение, транзакция подтверждена.
-
LAST_ERROR_NUMBER,LAST_ERROR_MESSAGEНомер ошибки и сообщение об ошибке последней ошибки, которая привела к остановке потока рабочего процесса. Номер ошибки 0 и пустое сообщение означают «нет ошибки». Если значение
LAST_ERROR_MESSAGEне пустое, значения ошибок также появляются в журнале ошибок реплики.Выполнение
RESET MASTERилиRESET SLAVEсбрасывает значения, отображаемые в этих столбцах.Все коды и сообщения об ошибках, отображаемые в столбцах
LAST_ERROR_NUMBERиLAST_ERROR_MESSAGE, соответствуют значениям ошибок, указанным в . -
LAST_ERROR_TIMESTAMPОтметка времени в формате
YYMMDD hh:mm:ss, показывающая, когда произошла последняя ошибка рабочего процесса.
TRUNCATE TABLE не разрешено для таблицы replication_applier_status_by_worker.
В следующей таблице показано соответствие столбцов replication_applier_status_by_worker и столбцов SHOW SLAVE STATUS.
replication_applier_status_by_worker Column |
SHOW SLAVE STATUS Column |
|---|---|
WORKER_ID | None |
THREAD_ID | None |
SERVICE_STATE | None |
LAST_SEEN_TRANSACTION | 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.