Documentation Home
MySQL 8.0 参考手册  / 第 27 章 MySQL 性能模式  / 27.12 性能模式表描述  / 27.12.11 性能模式复制表  /  27.12.11.8 replication_applier_status_by_worker 表

27.12.11.8 replication_applier_status_by_worker 表

此表提供了应用程序线程在副本或组复制组成员上处理的事务的详细信息。对于单线程副本,显示副本的单个应用程序线程的数据。对于多线程副本,数据针对每个应用程序线程单独显示。多线程副本上的应用程序线程有时称为工作者。副本或组复制组成员上的应用程序线程数由 系统变量replica_parallel_workersslave_parallel_workers系统变量设置,对于单线程副本,该变量设置为零。多线程副本也有一个协调器线程来管理应用程序线程,这个线程的状态显示在 replication_applier_status_by_coordinator 桌子。

与错误相关的列中显示的所有错误代码和消息对应于 服务器错误消息参考中列出的错误值。

禁用性能模式时,不会收集本地时间信息,因此显示应用事务的开始和结束时间戳的字段为零。此表中的开始时间戳是指工作人员何时开始应用第一个事件,结束时间戳是指应用事务的最后一个事件的时间。

当副本通过 START REPLICA语句重新启动时,开始的列 APPLYING_TRANSACTION将被重置。在 MySQL 8.0.13 之前,这些列不会在以单线程模式运行的副本上重置,只会在多线程副本上重置。

replication_applier_status_by_worker 表有以下列:

  • CHANNEL_NAME

    此行显示的复制通道。总是有一个默认的复制通道,可以添加更多的复制通道。有关更多信息,请参阅 第 17.2.2 节,“复制通道”

  • WORKER_ID

    id工作人员标识符(与表中列的 值相同 mysql.slave_worker_info)。在 之后 STOP REPLICA,该THREAD_ID列变为NULL,但 WORKER_ID值被保留。

  • THREAD_ID

    工作线程 ID。

  • SERVICE_STATE

    ON(线程存在并且处于活动或空闲状态)或OFF(线程不再存在)。

  • LAST_ERROR_NUMBER, LAST_ERROR_MESSAGE

    导致工作线程停止的最近错误的错误号和错误消息。错误号 0 和空字符串的消息表示没有错误。如果该 LAST_ERROR_MESSAGE值不为空,则错误值也会出现在副本的错误日志中。

    发出RESET MASTERRESET REPLICA重置这些列中显示的值。

  • LAST_ERROR_TIMESTAMP

    格式的时间戳 ,显示最近发生工作程序错误的时间。 'YYYY-MM-DD hh:mm:ss[.fraction]'

  • LAST_APPLIED_TRANSACTION

    此 worker 应用的最后一个事务的全局事务 ID (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

    此工作程序当前正在应用的事务的全局事务 ID (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

    格式的时间戳 显示此工作人员何时开始首次尝试应用当前正在应用的事务。在 MySQL 8.0.13 之前,这个时间戳会在事务因暂时性错误而重试时刷新,因此它显示了最近一次尝试应用事务的时间戳。 '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柱子 SHOW REPLICA STATUS柱子
WORKER_ID 没有任何
THREAD_ID 没有任何
SERVICE_STATE 没有任何
LAST_ERROR_NUMBER Last_SQL_Errno
LAST_ERROR_MESSAGE Last_SQL_Error
LAST_ERROR_TIMESTAMP Last_SQL_Error_Timestamp