MySQL 8.4 發行說明
您可以使用 STOP REPLICA
和 START REPLICA
陳述式來停止與啟動副本上的複製。
若要停止處理來源的二進制日誌,請使用 STOP REPLICA
。
mysql> STOP REPLICA;
當複製停止時,複製 I/O (接收者) 執行緒會停止從來源二進制日誌讀取事件並將其寫入中繼日誌,而 SQL 執行緒則停止從中繼日誌讀取事件並執行它們。您可以透過指定執行緒類型來個別暫停 I/O (接收者) 或 SQL (套用程式) 執行緒。
mysql> STOP REPLICA IO_THREAD;
mysql> STOP REPLICA SQL_THREAD;
若要再次啟動執行,請使用 START REPLICA
陳述式。
mysql> START REPLICA;
若要啟動特定的執行緒,請指定執行緒類型。
mysql> START REPLICA IO_THREAD;
mysql> START REPLICA SQL_THREAD;
對於僅透過處理來源事件來執行更新的副本,如果您想要執行備份或其他任務,則僅停止 SQL 執行緒可能會很有用。I/O (接收者) 執行緒會繼續從來源讀取事件,但不會執行它們。當您重新啟動 SQL (套用程式) 執行緒時,這可讓副本更容易趕上進度。
僅停止接收者執行緒可讓中繼日誌中的事件由套用程式執行緒執行,直到中繼日誌結束。當您想要暫停執行以趕上已從來源接收的事件時,當您想要在副本上執行管理但同時確保它已處理所有更新至特定點時,這會很有用。此方法也可用於在您對來源執行管理時暫停副本上的事件接收。停止接收者執行緒但允許套用程式執行緒執行有助於確保在再次啟動複製時,不會有大量待執行的事件積壓。