RESET SLAVE [ALL]
RESET SLAVE使副本忘记它在源的二进制日志中的复制位置。此语句用于干净启动:它清除复制元数据存储库,删除所有中继日志文件,并启动一个新的中继日志文件。MASTER_DELAY它还将使用选项指定的复制延迟重置为 0
CHANGE MASTER
TO。RESET SLAVE不会改变gtid_executed或
的值gtid_purged。要使用
RESET SLAVE,必须停止复制线程,因此
STOP SLAVE在发出
RESET SLAVE.
所有中继日志文件都被删除,即使它们还没有被复制 SQL 线程完全执行。(如果您已发出
STOP SLAVE声明或副本负载很高,则副本可能存在这种情况。)
在 MySQL 5.6 中(与 MySQL 5.1 及更早版本不同),RESET SLAVE不更改任何复制连接参数,例如源的主机名和端口或复制用户帐户名和密码,这些参数保留在内存中。这意味着
START SLAVE可以在不需要后面的CHANGE MASTER TO
声明的情况下发布RESET SLAVE。
如果副本mysqld在之后关闭,
连接参数将被重置
RESET
SLAVE。在 MySQL 5.6.3 及更高版本中,您可以改为使用
RESET SLAVE ALL重置这些连接参数(错误 #11809016)。
RESET SLAVE ALL不清除由
IGNORE_SERVER_IDS设置的列表
CHANGE MASTER TO。此问题已在 MySQL 5.7 中修复。(漏洞#18816897)
在 MySQL 5.6.7 及更高版本中,RESET SLAVE导致正在进行的事务的隐式提交。请参阅
第 13.3.3 节,“导致隐式提交的语句”。
如果复制 SQL 线程在停止和
RESET SLAVE发出时正在复制临时表,这些复制的临时表将在副本上删除。
在 NDB Cluster 副本 SQL 节点上使用时,RESET
SLAVE清除
mysql.ndb_apply_status表。ndb_apply_status在使用这个使用
存储引擎的语句时,您应该记住
NDB,因此由连接到副本集群的所有 SQL 节点共享。
从 MySQL NDB Cluster 7.4.9 开始,您可以通过
在执行之前发出来覆盖此行为,这可以防止副本在这种情况下
清除
表。SET
GLOBAL
@@ndb_clear_apply_status=OFFRESET SLAVEndb_apply_status