MySQL 8.0参考手册
MySQL 8.0版本说明
方法可以在副本上停止和启动复制停止复制
而且开始复制
语句。从MySQL 8.0.22,停止奴隶
而且开始的奴隶
都被弃用了,和停止复制
而且开始复制
可替代使用。
若要停止处理来自源的二进制日志,请使用停止复制
:
mysql STOP SLAVE;或者从MySQL 8.0.22: MySQL > STOP REPLICA;
当复制停止时,复制I/O线程停止从源二进制日志读取事件并将其写入中继日志,SQL线程停止从中继日志读取事件并执行它们。你可以通过指定线程类型单独暂停I/O或SQL线程:
停止从线程IO_THREAD;STOP SLAVE SQL_THREAD;或者从MySQL 8.0.22: MySQL > STOP REPLICA IO_THREAD;停止复制SQL_THREAD;
要重新开始执行,请使用开始复制
声明:
mysql>启动SLAVE;或者从MySQL 8.0.22: MySQL > START REPLICA;
要启动一个特定的线程,指定线程类型:
mysql>启动SLAVE IO_THREAD;mysql启动SQL_THREAD;或者从MySQL 8.0.22: MySQL > START REPLICA IO_THREAD;mysql>启动副本
对于仅通过处理来自源的事件来执行更新的副本,如果希望执行备份或其他任务,则只停止SQL线程是有用的。I/O线程继续从源读取事件,但它们不会被执行。这使得在重新启动SQL线程时,副本更容易赶上进度。
只停止I/O线程可以使SQL线程执行中继日志中的事件,直到中继日志结束。当您希望暂停执行以跟上已经从源接收到的事件时,当您希望在副本上执行管理,但同时确保它已处理到特定点的所有更新时,这可能很有用。此方法还可用于在对源执行管理时暂停副本上的事件接收。停止I/O线程但允许SQL线程运行有助于确保在再次启动复制时不会有大量的事件积压要执行。