MySQL 8.4 Release Notes
19.1.7.2 停止复制在复制品上
您可以使用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(应用)线程时赶上。
只停止接收线程使得中继日志中的事件可以由应用线程执行到中继日志的结尾。这可以在您想要暂停执行以赶上已经从源接收的事件时有用,在您想要在复制品上执行管理操作但也确保它已经处理了到特定点的更新时有用。这也可以用来暂停事件在复制品上接收的事件以在源上执行管理操作。停止接收线程但允许应用线程运行可以确保在复制被重新启动时没有大量的事件需要执行。