#### 17.1.7.2 暂停副本上的复制

您可以使用[`停止复制`](stop-replica.html)和[`开始复制`](start-replica.html)陈述。从 MySQL 8.0.22 开始，[`停止奴隶`](stop-slave.html)和[`启动奴隶`](start-slave.html)已弃用，并且[`停止复制`](stop-replica.html)和[`开始复制`](start-replica.html)可以改为使用。

要从源停止处理二进制日志，请使用[`停止复制`](stop-replica.html)：

```
mysql> STOP SLAVE;
Or from MySQL 8.0.22:
mysql> STOP REPLICA;
```

当复制停止时，复制 I/O（接收者）线程停止从源二进制日志读取事件并将它们写入中继日志，SQL 线程停止从中继日志读取事件并执行它们。您可以通过指定线程类型来单独暂停 I/O（接收器）或 SQL（应用程序）线程：

```
mysql> STOP SLAVE IO_THREAD;
mysql> STOP SLAVE SQL_THREAD;
Or from MySQL 8.0.22:
mysql> STOP REPLICA IO_THREAD;
mysql> STOP REPLICA SQL_THREAD;
```

要再次开始执行，请使用[`开始复制`](start-replica.html)陈述：

```
mysql> START SLAVE;
Or from MySQL 8.0.22:
mysql> START REPLICA;
```

要启动特定线程，请指定线程类型：

```
mysql> START SLAVE IO_THREAD;
mysql> START SLAVE SQL_THREAD;
Or from MySQL 8.0.22:
mysql> START REPLICA IO_THREAD;
mysql> START REPLICA SQL_THREAD;
```

对于仅通过处理来自源的事件来执行更新的副本，如果要执行备份或其他任务，则仅停止 SQL 线程可能很有用。I/O（接收器）线程继续从源读取事件，但它们没有被执行。当您重新启动 SQL（应用程序）线程时，这使得副本更容易赶上。

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