功能说明:用于删除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的作用[朗读]
加入收藏