source include/master-slave.inc; # prepare version for substitutions let $VERSION=`select version()`; # stop slave before he will start replication also sync with master # for avoiding undetermenistic behaviour save_master_pos; connection slave; sync_with_master; stop slave; connection master; # create some events on master create table t1(n int not null auto_increment primary key); insert into t1 values (1),(2),(3),(4); drop table t1; create table t2(n int not null auto_increment primary key); insert into t2 values (1),(2); insert into t2 values (3),(4); drop table t2; --replace_result $VERSION VERSION show binlog events; # try to replicate all queries until drop of t1 connection slave; start slave until master_log_file='master-bin.000001', master_log_pos=304; sleep 2; # here table should be still not deleted select * from t1; --replace_result $MASTER_MYPORT MASTER_MYPORT --replace_column 1 # 33 # show slave status; # this should fail right after start start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291; # again this table should be still not deleted select * from t1; sleep 2; --replace_result $MASTER_MYPORT MASTER_MYPORT --replace_column 1 # 9 # 23 # 33 # show slave status; # try replicate all until second insert to t2; start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=710; sleep 2; select * from t2; --replace_result $MASTER_MYPORT MASTER_MYPORT --replace_column 1 # 9 # 23 # 33 # show slave status; # clean up start slave; connection master; save_master_pos; connection slave; sync_with_master; stop slave; # this should stop immediately as we are already there start slave until master_log_file='master-bin.000001', master_log_pos=710; sleep 2; # here the sql slave thread should be stopped --replace_result $MASTER_MYPORT MASTER_MYPORT --replace_column 1 # 9 # 23 # 33 # show slave status; #testing various error conditions --error 1276 start slave until master_log_file='master-bin', master_log_pos=561; --error 1276 start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12; --error 1276 start slave until master_log_file='master-bin.000001'; --error 1276 start slave until relay_log_file='slave-relay-bin.000002'; --error 1276 start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=561; start slave sql_thread; start slave until master_log_file='master-bin.000001', master_log_pos=710;