Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


29.12.11.8 复制应用程序状态表

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

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

当性能模式被禁用时,不会收集本地时间信息,因此显示事务应用程序的开始和结束时间的字段为零。表中的开始时间指的是工作者线程开始应用第一个事件的时间,而结束时间指的是最后一个事件的事务应用完成时间。

当副本通过START REPLICA语句重启时,开始和结束时间的列将被重置。

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]'格式表示的时间戳,显示了由此工作者线程应用的事务在紧急源上提交的时间。

  • LAST_APPLIED_TRANSACTION_START_APPLY_TIMESTAMP

    一个时间戳,格式为 'YYYY-MM-DD hh:mm:ss',显示了该工作者开始应用最后一个已应用事务的时间。

  • LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP

    一个时间戳,格式为 'YYYY-MM-DD hh:mm:ss',显示了该工作者完成应用最后一个已应用事务的时间。

  • APPLYING_TRANSACTION

    当前工作者正在应用的事务的全局事务ID(GTID)。

  • APPLYING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP

    一个时间戳,格式为 'YYYY-MM-DD hh:mm:ss',显示了当前工作者正在应用的事务在原始源上提交的时间。

  • APPLYING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP

    一个时间戳,格式为 'YYYY-MM-DD hh:mm:ss',显示了当前工作者正在应用的事务在紧急源上提交的时间。

  • APPLYING_TRANSACTION_START_APPLY_TIMESTAMP

    一个时间戳,格式为 'YYYY-MM-DD hh:mm:ss',显示了工作者开始尝试应用当前正在应用的事务的时间。

  • LAST_APPLIED_TRANSACTION_RETRIES_COUNT

    最后一个已应用事务被重试的次数。如果该事务在第一次尝试中就被应用了,这个数字是0。

  • 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',显示了导致最后一个已应用事务重试的最后一次暂时错误发生的时间。

  • APPLYING_TRANSACTION_RETRIES_COUNT

    当前正在应用的事务被重试的次数。如果该事务在第一次尝试中就被应用了,这个数字是0。

  • APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER

    导致当前正在应用的事务重试的最后一次暂时错误的错误号。

  • APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE

    导致当前正在应用的事务重试的最后一次暂时错误的消息文本。

  • APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP

    一个时间戳,格式为 'YYYY-MM-DD hh:mm:ss',显示了导致当前正在应用的事务重试的最后一次暂时错误发生的时间。

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