13.4.1.2 RESET MASTER 语句

RESET MASTER

Warning

请谨慎使用此语句,以确保您不会丢失任何想要的二进制日志文件数据和 GTID 执行历史记录。

RESET MASTER需要RELOAD特权。

对于启用了二进制日志记录(log_binON)的服务器,RESET MASTER删除所有现有的二进制日志文件并重置二进制日志索引文件,从而将服务器重置为开始二进制日志记录之前的状态。将创建一个新的空二进制日志文件,以便可以重新启动二进制日志记录。

对于正在使用 GTID 的服务器(gtid_modeON),发出RESET MASTER将重置 GTID 执行历史记录。 gtid_purged系统变量的值设置为空字符串(''),gtid_executed系统变量的全局值(而不是会话值)设置为空字符串,并且mysql.gtid_executedtable 被清除(请参见mysql.gtid_executed Table)。如果启用了 GTID 的服务器启用了二进制日志记录,则RESET MASTER也会如上所述重置二进制日志。请注意,RESET MASTER是重置 GTID 执行历史记录的方法,即使启用 GTID 的服务器是禁用了二进制日志记录的副本也是如此。 RESET SLAVE对 GTID 执行历史没有影响。有关重置 GTID 执行历史记录的更多信息,请参见重置 GTID 执行历史

Important

RESET MASTER的影响与清除二进制日志的影响有两个主要方面:

  • RESET MASTER除去索引文件中列出的所有二进制日志文件,仅留下一个数字后缀.000001的空二进制日志文件,而清除二进制日志不会重置编号。

  • RESET MASTER并非在任何副本正在运行时使用。在运行副本时使用RESET MASTER的行为是不确定的(因此不受支持),而在运行副本时可以安全地使用清除二进制日志

另请参见第 13.4.1.1 节“ PURGE BINARY LOGS 语句”

首次设置源和副本时,RESET MASTER会很有用,这样您就可以按照以下步骤验证设置:

验证设置,重置源和副本并确保没有测试后生成的不需要的数据或二进制日志文件保留在源或副本上之后,您可以启动副本并开始复制。