MySQL 5.7 Reference Manual Including MySQL NDB Cluster 7.5 and NDB Cluster 7.6
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:
CHANNEL_NAME
The replication channel which this row is displaying. There is always a default replication channel, and more replication channels can be added. See Section 16.2.2, “Replication Channels” for more information.
WORKER_ID
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.
THREAD_ID
The worker thread identifier.
SERVICE_STATE
ON
(thread exists and is active or
idle) or OFF
(thread no longer exists).
LAST_SEEN_TRANSACTION
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:
SELECT GTID_SUBSET(LAST_SEEN_TRANSACTION, @@GLOBAL.GTID_EXECUTED) 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.
LAST_ERROR_NUMBER
,
LAST_ERROR_MESSAGE
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.
LAST_ERROR_TIMESTAMP
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 |
---|---|
WORKER_ID |
None |
THREAD_ID |
None |
SERVICE_STATE |
None |
LAST_SEEN_TRANSACTION |
None |
LAST_ERROR_NUMBER |
Last_SQL_Errno |
LAST_ERROR_MESSAGE |
Last_SQL_Error |
LAST_ERROR_TIMESTAMP |
Last_SQL_Error_Timestamp |