Documentation Home

16.1.7.2 在副本上暂停复制

STOP SLAVE您可以使用and START SLAVE语句 停止和启动副本上的复制 。

要停止处理来自源的二进制日志,请使用 STOP SLAVE

mysql> STOP SLAVE;

当复制停止时,复制 I/O 线程停止从源的二进制日志中读取事件并将它们写入中继日志,复制 SQL 线程停止从中继日志中读取事件并执行它们。您可以通过指定线程类型分别暂停复制 I/O 和 SQL 线程:

mysql> STOP SLAVE IO_THREAD;
mysql> STOP SLAVE SQL_THREAD;

要再次开始执行,请使用以下START SLAVE语句:

mysql> START SLAVE;

要启动特定线程,请指定线程类型:

mysql> START SLAVE IO_THREAD;
mysql> START SLAVE SQL_THREAD;

对于仅通过处理来自源的事件来执行更新的副本,如果您想执行备份或其他任务,则仅停止复制 SQL 线程可能很有用。复制 I/O 线程继续从源读取事件,但不执行它们。这使副本在您重新启动复制 SQL 线程时更容易赶上进度。

仅停止复制 I/O 线程可以使复制 SQL 线程执行中继日志中的事件,直到中继日志结束为止。当您想要暂停执行以赶上已从源接收到的事件时,当您想要对副本执行管理但又要确保它已处理特定点的所有更新时,这可能很有用。当您对源进行管理时,此方法还可用于暂停副本上的事件接收。停止 I/O 线程但允许 SQL 线程运行有助于确保在再次启动复制时不会有大量积压的事件要执行。