• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • plication_applier_status_by_worker表

    下表提供了复制从属服务器或组复制组成员上的应用程序线程处理的事务的详细信息。对于单线程从属服务器,将显示该从属服务器的单应用程序线程的数据。对于多线程从属服务器,每个应用程序线程分别显示数据。多线程从站上的应用程序线程有时称为工作程序。复制从属服务器或“组复制”组成员上的应用程序线程数由slave_parallel_workers系统变量设置,对于单线程从属服务器,该变量设置为零。多线程从站也有一个协调器线程来管理应用程序线程,该线程的状态显示在replication_applier_status_by_coordinator表。

    与错误相关的列中显示的所有错误代码和消息均与第B.3.1节“服务器错误消息参考”中列出的错误值相对应。

    禁用性能架构后,将不收集本地时间信息,因此显示已应用事务的开始和结束时间戳记的字段为零。此表中的开始时间戳是指工作程序开始应用第一个事件的时间,结束时间戳是指事务的最后一个事件应用的时间。

    通过START SLAVE语句重新启动复制从属服务器时,将APPLYING_TRANSACTION重置开始的列。在MySQL 8.0.13之前,未在以单线程模式运行的从属服务器上重置这些列,而仅在多线程从属服务器上重置了这些列。

    replication_applier_status_by_worker表包含以下列:

    • CHANNEL_NAME

      该行正在显示的复制通道。始终有一个默认的复制通道,并且可以添加更多的复制通道。有关更多信息,请参见“复制通道”。

    • WORKER_ID

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

    • THREAD_ID

      工作线程ID。

    • SERVICE_STATE

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

    • LAST_ERROR_NUMBERLAST_ERROR_MESSAGE

      导致工作线程停止的最新错误的错误号和错误消息。错误号0和空字符串的消息表示“无错误”。如果该LAST_ERROR_MESSAGE值不为空,则错误值也会出现在从站的错误日志中。

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

    • 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[.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_NAMEWORKER_ID)上的主键
    • 在(THREAD_ID)上的索引

    下表显示了replication_applier_status_by_worker列与SHOW SLAVE STATUS列之间的对应关系。

    replication_applier_status_by_workerSHOW SLAVE STATUS
    WORKER_ID没有
    THREAD_ID没有
    SERVICE_STATE没有
    LAST_ERROR_NUMBERLast_SQL_Errno
    LAST_ERROR_MESSAGELast_SQL_Error
    LAST_ERROR_TIMESTAMPLast_SQL_Error_Timestamp