Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

29.12.11.8 复制应用程序状态_by_worker表

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

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

当性能架构禁用时,局部计时信息不被收集,因此应用事务的开始和结束时间戳字段为零。该表中的开始时间戳指的是工作者开始应用第一个事件的时间,结束时间戳指的是最后一个事件的应用时间。

当副本通过START REPLICA语句重新启动时,APPLYING_TRANSACTION列将被重置。

replication_applier_status_by_worker表具有以下列:

  • CHANNEL_NAME

    该行显示的复制通道。总是有一个默认的复制通道,可以添加更多的复制通道。请参阅第 19.2.2 节,「复制通道」以获取更多信息。

  • WORKER_ID

    工作者标识符(与mysql.slave_worker_info表中的id列相同)。在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 BINARY LOGS AND GTIDSRESET REPLICA将重置这些列中的值。

  • LAST_ERROR_TIMESTAMP

    一个时间戳,以'YYYY-MM-DD hh:mm:ss[.fraction]'格式显示最近一次工作者错误的时间。

  • LAST_APPLIED_TRANSACTION

    该工作者应用的最后一个事务的全局事务 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]'格式显示该事务在直接源上提交的时间。

  • 最后应用事务开始应用时间戳

    '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

    '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
THREAD_ID
SERVICE_STATE
LAST_ERROR_NUMBER Last_SQL_Errno
LAST_ERROR_MESSAGE Last_SQL_Error
LAST_ERROR_TIMESTAMP Last_SQL_Error_Timestamp