RESET MASTER
请谨慎使用此语句,以确保您不会丢失任何想要的二进制日志文件数据和 GTID 执行历史记录。
RESET MASTER
需要
RELOAD
特权。
对于启用了二进制日志记录的服务器(log_bin
is
ON
),RESET MASTER
删除所有现有的二进制日志文件并重置二进制日志索引文件,将服务器重置为二进制日志记录启动之前的状态。创建一个新的空二进制日志文件,以便可以重新启动二进制日志记录。
对于正在使用 GTID 的服务器 ( gtid_mode
is
ON
),发出RESET MASTER
重置 GTID 执行历史记录。系统变量的值
gtid_purged
设置为空字符串(''
),系统变量的全局值(但不是会话值)
gtid_executed
设置为空字符串,
mysql.gtid_executed
表被清除(见
mysql.gtid_executed 表)。如果启用 GTID 的服务器启用
RESET MASTER
了二进制日志记录,则还如上所述重置二进制日志。请注意,这
RESET MASTER
是重置 GTID 执行历史的方法,即使启用 GTID 的服务器是禁用二进制日志记录的副本;
RESET SLAVE
对 GTID 执行历史没有影响。有关重置 GTID 执行历史记录的更多信息,请参阅
重置 GTID 执行历史记录。
的效果在 2 个关键方面
RESET MASTER
与 的不同:PURGE BINARY
LOGS
RESET MASTER
删除 索引文件中列出的所有二进制日志文件,只留下一个数字后缀为 的空二进制日志文件.000001
,而编号不会由 重置PURGE BINARY LOGS
。RESET MASTER
不 打算在任何副本运行时使用。when used while replicas are running的行为RESET MASTER
未定义(因此不受支持),而PURGE BINARY LOGS
may be safely used while replicas are running。
RESET MASTER
当您第一次设置源和副本时,这很有用,因此您可以按如下方式验证设置:
启动源和副本,并开始复制(请参阅 第 16.1.2 节,“设置基于二进制日志文件位置的复制”)。
在源上执行一些测试查询。
检查查询是否已复制到副本。
当复制正常运行时,问题
STOP SLAVE
跟RESET SLAVE
在副本上,然后验证副本上是否不再存在任何不需要的数据。在源上发布
RESET MASTER
以清理测试查询。
在验证设置、重置源和副本并确保没有不需要的数据或测试生成的二进制日志文件保留在源或副本上之后,您可以启动副本并开始复制。