功能說明:用於刪除slave資料庫的relaylog日誌文件,並重新啟用新的relaylog文件。
登錄從資料庫,未刪除前
mysql>show slave status\g;
*************************** 1.row ***************************。
slave_io_state:connecting to master
master_host:192.168.47.167。
master_user:server
master_port:3306。
connect_retry:60。
master_log_file:mysql-bin.000019。
read_master_log_pos:12992。
relay_log_file:mysql02-relay-bin.000004。
relay_log_pos:4。
relay_master_log_file:mysql-bin.000019。
當前relaylog為0004。
刪除後。
mysql>stop slave; 先停止slave
query ok,0 rows affected (0.01 sec)。
mysql>reset slave;
query ok,0 rows affected (0.04 sec)。
mysql>show slave status\g;
*************************** 1.row ***************************。
slave_io_state:
master_host:192.168.47.167。
master_user:server
master_port:3306。
connect_retry:60。
master_log_file:
read_master_log_pos:4。
relay_log_file:mysql02-relay-bin.000001。
relay_log_pos:4
reset slave將使slave忘記主從複製關係的位置信息。該語句將被用於乾淨的啟動,它刪除master.info文件和relay-log.info 文件以及所有的relay log 文件並重新啟用一個新的relaylog文件。
使用場景:當原來的主從關係被破壞之後,從庫經過重新初始化後直接連接會報 error 1201的錯誤,運行reset slave後,重新配置主從連接就可以了。
mysql>change master to master_host='192.168.0.167',master_user='test',master_password='test',master_log_file='mysql-bin.000001',master_log_pos=176658;
error 1201 (hy000):could not initialize master info structure;more error messages can be found in the mysql error log
總結:如果是需要刪除mysql binlog和relaylog文件的時候,那麼通過作業系統的刪除或者purge命令都可以,但是涉及到mysql主從配置的時候便需要使用reset master和reset slave解決問題。
- 編程問答
- 答案列表
RESET SLAVE的作用[朗讀]
加入收藏