SHOW PROCESSLIST
陳述式提供資訊,告訴您來源和複寫副本上關於複寫的情況。如需來源狀態的資訊,請參閱第 10.14.4 節,「複寫來源執行緒狀態」。如需複寫副本狀態的資訊,請參閱第 10.14.5 節,「複寫 I/O (接收器) 執行緒狀態」,以及第 10.14.6 節,「複寫 SQL 執行緒狀態」。
以下範例說明三個主要複寫執行緒,二進位日誌傾印執行緒、複寫 I/O (接收器) 執行緒,以及複寫 SQL (應用程式) 執行緒,如何在 SHOW PROCESSLIST
的輸出中顯示。
在來源伺服器上,SHOW PROCESSLIST
的輸出如下所示
mysql> SHOW PROCESSLIST\G
*************************** 1. row ***************************
Id: 2
User: root
Host: localhost:32931
db: NULL
Command: Binlog Dump
Time: 94
State: Has sent all binlog to slave; waiting for binlog to
be updated
Info: NULL
在此,執行緒 2 是一個 Binlog Dump
執行緒,為已連線的複寫副本提供服務。State
資訊表示所有未完成的更新都已傳送至複寫副本,並且來源正在等待發生更多更新。如果您在來源伺服器上沒有看到任何 Binlog Dump
執行緒,則表示複寫未執行;也就是說,目前沒有任何複寫副本連線。
在複寫副本伺服器上,SHOW PROCESSLIST
的輸出如下所示
mysql> SHOW PROCESSLIST\G
*************************** 1. row ***************************
Id: 10
User: system user
Host:
db: NULL
Command: Connect
Time: 11
State: Waiting for master to send event
Info: NULL
*************************** 2. row ***************************
Id: 11
User: system user
Host:
db: NULL
Command: Connect
Time: 11
State: Has read all relay log; waiting for the slave I/O
thread to update it
Info: NULL
State
資訊表示執行緒 10 是與來源伺服器通訊的複寫 I/O (接收器) 執行緒,而執行緒 11 是處理儲存在中繼日誌中的更新的複寫 SQL (應用程式) 執行緒。在執行 SHOW PROCESSLIST
時,這兩個執行緒都處於閒置狀態,正在等待進一步更新。
在 Time
欄位中的數值可以顯示副本伺服器相較於來源伺服器的延遲時間。請參閱第 A.14 節,「MySQL 9.0 常見問題:複製」。如果來源端在 Binlog Dump
執行緒上沒有活動的情況下經過足夠的時間,來源端會判斷副本伺服器已不再連線。至於其他任何用戶端連線,此逾時時間取決於 net_write_timeout
和 net_retry_count
的值;如需關於這些設定的更多資訊,請參閱第 7.1.8 節,「伺服器系統變數」。
SHOW REPLICA STATUS
陳述式提供關於副本伺服器上複製處理的其他資訊。請參閱第 19.1.7.1 節,「檢查複製狀態」。