mysql master reset_mysql双主使用reset master清除日志要小心

假设a、b两台服务器做了mysql双主。

有一表是tab是这样的

create table tab(id int primary key auto_increment,name varchar(20));

然后

如果是mysql主从的话,a是主,那么a机

reset master;

然后b机

stop slave;

reset slave;

start slave;

如果在a机reset master之后,b机stop slave之前,有新数据插入、删除等操作,当b机start slave后,b机不会掉数据,那些新数据还是会被同步过来的。

b机为什么要stop slave;reset slave;start slave;  ?

因为reset master之后,到b机show slave status\G虽然还是显示同步,但你可以到a机show master status;就会发现与b机show slave status\G显示的Master_Log_File、Relay_Master_Log_File不是指向a机show master status显示的日志文件,因为reset master之后,a机的binlog日志从XXX.000001开始,之前的日志都被删除了。指向的日志不是a机的日志,b机当然是不可能同步了。即使在a机插入一条新记录,b机的Master_Log_File、Relay_Master_Log_File还是没有指向新的日志,重启mysql也无效。

错误提示:

Last_IO_Error: Got fatal error 1236 from master when reading data from

你可能感兴趣的:(mysql,master,reset)