MySQL 9.0 发行说明
您可以使用 STOP REPLICA
和 START REPLICA
语句停止和启动副本上的复制。
要停止从源处理二进制日志,请使用 STOP REPLICA
mysql> STOP REPLICA;
当复制停止时,复制 I/O(接收器)线程停止从源二进制日志读取事件并将其写入中继日志,SQL 线程停止从中继日志读取事件并执行它们。您可以通过指定线程类型来单独暂停 I/O(接收器)或 SQL(应用器)线程
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(接收器)线程继续从源读取事件,但不会执行它们。这使得副本在重新启动 SQL(应用器)线程时更容易赶上。
仅停止接收器线程使应用器线程能够执行中继日志中的事件,直到中继日志结束为止。这在您要暂停执行以赶上已从源接收的事件时,或者在您要对副本执行管理操作但也要确保它已处理到特定点的更新时很有用。此方法还可用于在对源执行管理操作时暂停副本上的事件接收。停止接收器线程但允许应用器线程运行有助于确保当复制再次启动时,不会有大量事件要执行。