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


MySQL 9.0 參考手冊  /  ...  /  複製執行緒

19.2.3 複製執行緒

MySQL 複製功能是使用下列類型的執行緒實作的

  • 二進位日誌傾印執行緒。  當複本連線時,來源會建立執行緒,將二進位日誌內容傳送至複本。此執行緒可以在來源上使用 SHOW PROCESSLIST 的輸出中識別為 Binlog Dump 執行緒。

  • 複製 I/O 接收器執行緒。  當在複本伺服器上發出 START REPLICA 陳述式時,複本會建立一個 I/O (接收器) 執行緒,該執行緒會連線至來源並要求其傳送記錄在其二進位日誌中的更新。

    複製接收器執行緒會讀取來源的 Binlog Dump 執行緒傳送的更新 (請參閱前一個項目),並將其複製到構成複本中繼日誌的本機檔案中。

    此執行緒的狀態在 SHOW REPLICA STATUS 的輸出中顯示為 Slave_IO_running

  • 複製 SQL 套用程式執行緒。 replica_parallel_workers 等於 0 時,複本會建立一個 SQL (套用程式) 執行緒,以讀取複製接收器執行緒寫入的中繼日誌,並執行其中包含的交易。當 replica_parallel_workersN >= 1 時,則會有 N 個套用程式執行緒和一個協調器執行緒,協調器執行緒會依序從中繼日誌讀取交易,並排程由工作執行緒套用這些交易。每個工作執行緒都會套用協調器已指派給它的交易。

您可以透過將系統變數 replica_parallel_workers 設定為大於 0 的值,來為複本上的任務啟用進一步的平行化。完成此操作後,複本會建立指定數目的工作執行緒來套用交易,以及一個協調器執行緒,該執行緒會從中繼日誌讀取交易並將其指派給工作執行緒。將 replica_parallel_workers (slave_parallel_workers) 設定為大於 0 的值的複本稱為多執行緒複本。如果您使用多個複製通道,則每個通道都有使用此變數指定的執行緒數目。

NDB Cluster 也支援多執行緒複本。如需更多資訊,請參閱第 25.7.11 節,「使用多執行緒應用程式的 NDB Cluster 複寫」