文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手冊頁 (TGZ) - 258.2Kb
手冊頁 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  監控複寫主要執行緒

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

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