此資料表提供複本或群組複寫群組成員上套用執行緒所處理之交易的詳細資訊。對於單執行緒複本,會顯示複本單一的套用執行緒的資料。對於多執行緒複本,會針對每個套用執行緒個別顯示資料。多執行緒複本上的套用執行緒有時稱為工作執行緒。複本或群組複寫群組成員上的套用執行緒數目由 replica_parallel_workers
系統變數設定,該變數對於單執行緒複本設定為零。多執行緒複本也有一個協調器執行緒來管理套用執行緒,此執行緒的狀態顯示在 replication_applier_status_by_coordinator
資料表中。
在與錯誤相關的欄位中顯示的所有錯誤代碼和訊息都對應至伺服器錯誤訊息參考中列出的錯誤值。
當 Performance Schema 停用時,不會收集本機計時資訊,因此顯示已套用交易的開始和結束時間戳記的欄位為零。此資料表中的開始時間戳記是指工作執行緒開始套用第一個事件的時間,而結束時間戳記是指套用交易最後一個事件的時間。
當透過 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 GTIDS
或RESET 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
[.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 資料行 |
SHOW REPLICA STATUS 資料行 |
---|---|
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 |