Documentation Home
MySQL Performance Schema
Related Documentation Download this Excerpt
PDF (US Ltr) - 0.9Mb
PDF (A4) - 0.9Mb

MySQL Performance Schema  /  ...  /  The replication_applier_status_by_worker Table

10.11.6 The replication_applier_status_by_worker Table

If the replica is not multithreaded, this table shows the status of the applier thread. Otherwise, the replica uses multiple worker threads and a coordinator thread to manage them, and this table shows the status of the worker threads. For a multithreaded replica, the replication_applier_status_by_coordinator table shows the status of the coordinator thread.

The replication_applier_status_by_worker table has these columns:


    The replication channel which this row is displaying. There is always a default replication channel, and more replication channels can be added. See Replication Channels for more information.


    The worker identifier (same value as the id column in the mysql.slave_worker_info table). After STOP SLAVE, the THREAD_ID column becomes NULL, but the WORKER_ID value is preserved.


    The worker thread identifier.


    ON (thread exists and is active or idle) or OFF (thread no longer exists).


    The transaction that the worker has last seen. The worker has not necessarily applied this transaction because it could still be in the process of doing so.

    If the gtid_mode system variable value is OFF, this column is ANONYMOUS, indicating that transactions do not have global transaction identifiers (GTIDs) and are identified by file and position only.

    If gtid_mode is ON, the column value is defined as follows:

    • If no transaction has executed, the column is empty.

    • When a transaction has executed, the column is set from gtid_next as soon as gtid_next is set. From this moment, the column always shows a GTID.

    • The GTID is preserved until the next transaction is executed. If an error occurs, the column value is the GTID of the transaction being executed by the worker when the error occurred. The following statement shows whether or not that transaction has been committed:

      FROM performance_schema.replication_applier_status_by_worker;

      If the statement returns zero, the transaction has not yet been committed, either because it is still being processed, or because the worker thread was stopped while it was being processed. If the statement returns nonzero, the transaction has been committed.


    The error number and error message of the most recent error that caused the worker thread to stop. An error number of 0 and message of the empty string mean no error. If the LAST_ERROR_MESSAGE value is not empty, the error values also appear in the replica's error log.

    Issuing RESET MASTER or RESET SLAVE resets the values shown in these columns.

    All error codes and messages displayed in the LAST_ERROR_NUMBER and LAST_ERROR_MESSAGE columns correspond to error values listed in Server Error Message Reference.


    A timestamp in YYMMDD hh:mm:ss format that shows when the most recent worker error occurred.

TRUNCATE TABLE is not permitted for the replication_applier_status_by_worker table.

The following table shows the correspondence between replication_applier_status_by_worker columns and SHOW SLAVE STATUS columns.

replication_applier_status_by_worker Column SHOW SLAVE STATUS Column