include/master-slave.inc [connection master] [on slave] include/stop_slave.inc ==== Create some events on master ==== [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; ==== Replicate one event at a time on slave ==== [on slave] start slave until master_log_file='MASTER_LOG_FILE', master_log_pos=MASTER_LOG_POS; include/wait_for_slave_io_to_start.inc include/wait_for_slave_sql_to_stop.inc select * from t1; n 1 2 3 4 include/check_slave_param.inc [Exec_Master_Log_Pos] start slave until master_log_file='master-no-such-bin.000001', master_log_pos=MASTER_LOG_POS; include/wait_for_slave_io_to_start.inc include/wait_for_slave_sql_to_stop.inc select * from t1; n 1 2 3 4 include/check_slave_param.inc [Exec_Master_Log_Pos] start slave until relay_log_file='slave-relay-bin.000003', relay_log_pos=RELAY_LOG_POS; include/wait_for_slave_io_to_start.inc include/wait_for_slave_sql_to_stop.inc select * from t2; n 1 2 include/check_slave_param.inc [Exec_Master_Log_Pos] start slave; [on master] [on slave] include/stop_slave.inc start slave until master_log_file='MASTER_LOG_FILE', master_log_pos=MASTER_LOG_POS; include/wait_for_slave_io_to_start.inc include/wait_for_slave_sql_to_stop.inc include/check_slave_param.inc [Exec_Master_Log_Pos] ==== Test various error conditions ==== start slave until master_log_file='master-bin', master_log_pos=MASTER_LOG_POS; ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_LOG_POS, relay_log_pos=RELAY_LOG_POS; ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL start slave until master_log_file='master-bin.000001'; ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL start slave until relay_log_file='slave-relay-bin.000002'; ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=MASTER_LOG_POS; ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL start slave sql_thread; start slave until master_log_file='master-bin.000001', master_log_pos=MASTER_LOG_POS; Warnings: Note 1254 Slave is already running include/stop_slave.inc drop table if exists t1; reset slave; change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root'; drop table if exists t1; reset master; create table t1 (a int primary key auto_increment); start slave; include/stop_slave.inc master and slave are in sync now select 0 as zero; zero 0 insert into t1 set a=null; insert into t1 set a=null; select count(*) as two from t1; two 2 start slave until master_log_file='MASTER_LOG_FILE', master_log_pos= UNTIL_POS;; include/wait_for_slave_sql_to_stop.inc slave stopped at the prescribed position select 0 as zero; zero 0 select count(*) as one from t1; one 1 drop table t1; start slave; include/rpl_reset.inc flush logs; stop slave; reset slave; start slave until master_log_file='master-bin.000001', master_log_pos=294 /* to stop right before DROP */; include/wait_for_slave_sql_to_stop.inc show tables /* t1 must exist */; Tables_in_test t1 drop table t1; stop slave; include/rpl_end.inc