Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Pausing Replication on the Replica

19.1.7.2 在副本上暂停复制

您可以使用 STOP REPLICASTART REPLICA 语句在副本上停止和启动复制。

要停止从源 binary log 的处理,请使用 STOP REPLICA

mysql> STOP REPLICA;

当复制停止时,复制 I/O(receiver)线程停止从源 binary log 读取事件并将其写入中继日志,而 SQL 线程停止从中继日志读取事件并执行它们。您可以通过指定线程类型来单独暂停 I/O(receiver)或 SQL(applier)线程:

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(receiver)线程继续从源读取事件,但它们不会被执行。这使得副本在重新启动 SQL(applier)线程时更容易赶上。

仅停止接收器线程使中继日志中的事件被 applier 线程执行,直到中继日志结束。这在您想暂停执行以赶上来自源的事件、在副本上执行管理或确保副本已经处理到特定点时非常有用。这种方法也可以用于暂停副本上的事件接收,同时在源上执行管理。停止接收器线程但允许 applier 线程运行有助于确保在重新启动复制时没有大量的事件积压。