文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  監控複製主執行緒

19.2.3.1 監控複製主執行緒

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 8.4 常見問題:複製」。如果來源伺服器端在 Binlog Dump 執行緒上沒有活動而經過了足夠的時間,來源伺服器會判斷副本伺服器已斷線。與任何其他用戶端連線相同,其逾時時間取決於 net_write_timeoutnet_retry_count 的值;如需更多資訊,請參閱第 7.1.8 節, 「伺服器系統變數」

SHOW REPLICA STATUS 陳述式提供關於副本伺服器上複製處理的其他資訊。請參閱第 19.1.7.1 節, 「檢查複製狀態」