include/master-slave.inc Warnings: Note #### Sending passwords in plain text without SSL/TLS is extremely insecure. Note #### Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information. [connection master] call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT"); [on slave] include/sync_slave_sql_with_master.inc 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/sync_slave_sql_with_master.inc 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; RESET MASTER; change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root'; Warnings: Note 1759 Sending passwords in plain text without SSL/TLS is extremely insecure. Note 1760 Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information. 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_end.inc