reset slave是各版本Mysql都有的功能,可以讓slave忘記自己在master binary log中的復制位置。
reset slave命令主要完成以下工作內容:
-刪除master.info和relay-log.info文件
-刪除所有的relay log(包括還沒有應用完的日志)
-創建一個新的relay log文件
-將復制延遲選項 master_delay設置為0
reset slave不會修改gtid_executed、gtid_purged的值。
在執行reset slave之前,必須執行stop slave。
在mysql 5.6之后,reset slave不會修改任何復制配置參數,所有的連接信息仍然保留在內存中,包括主庫地址、端口、用戶、密碼等。也就是說在執行reset slave之后還可以直接運行start slave命令而不必重新輸入change master to命令,而運行show slave status也仍和沒有運行reset slave一樣,有正常的輸出。
reset slave之后關閉mysqld就會清除連接參數。
在mysql 5.6.3之后,可以使用reset slave all來清除連接參數,運行show slave status就輸出為空了。
mysql 5.6.7之后,reset slave會隱式提交事務。
運行reset slave命令需要reload權限。MHA在做故障切換時,就會在新主上運行命令RESET SLAVE /*!50516 ALL */ ,清除掉它的所有從庫信息。