暂停从站上的复制
您可以使用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线程运行有助于确保再次开始复制时没有大量待执行的事件积压。