Documentation Home

17.1.5.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 线程运行有助于确保在再次启动复制时不会有大量积压的事件要执行。