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=OFF
RESET SLAVE
ndb_apply_status