文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 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 複製執行緒

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 的值,來為副本上的任務啟用進一步的平行化。當執行此操作時,副本會建立指定數量的 worker 執行緒來應用交易,外加一個協調器執行緒,該執行緒從中繼日誌讀取交易並將其指派給 worker。將 replica_parallel_workersslave_parallel_workers)設定為大於 0 的值的副本稱為多執行緒副本。如果您正在使用多個複製通道,則每個通道都具有使用此變數指定的執行緒數量。

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