connect (master,localhost,root,,test,0,mysql-master.sock); connect (slave,localhost,root,,test,0,mysql-slave.sock); source include/have_default_master.inc; system cat /dev/null > var/slave-data/master.info; system chmod 000 var/slave-data/master.info; connection slave; !slave start; system chmod 600 var/slave-data/master.info; !slave start; !change master to master_host='127.0.0.1',master_port=9306,master_user='root'; reset slave; !change master to master_host='127.0.0.1',master_port=9306,master_user='root'; connection master; reset master; connection slave; slave start; connection master; drop table if exists t1; create table t1 (s text); insert into t1 values('Could not break slave'),('Tried hard'); save_master_pos; connection slave; sync_with_master; show slave status; select * from t1; connection master; flush logs; drop table if exists t2; create table t2(m int not null primary key); insert into t2 values (34),(67),(123); save_master_pos; flush logs; show master logs; #now lets make some duplicate key mess and see if we can recover from it #first insert a value on the slave connection slave; sync_with_master; insert into t2 values(1234); #same value on the master connection master; save_master_pos; insert into t2 values(1234); connection slave; sync_with_master; #the slave may have already stopped, so we ignore the error !slave stop; #restart slave skipping one event set sql_slave_skip_counter=1; slave start; connection master; save_master_pos; #let slave catch up connection slave; sync_with_master; show slave status; connection master; purge master logs to 'master-bin.003'; show master logs; insert into t2 values (65); save_master_pos; connection slave; sync_with_master; show slave status; select * from t2; connection master; let $1=100; drop table if exists t3; create table t3 (n int); while ($1) { insert into t3 values(4); dec $1; } show master logs; save_master_pos; connection slave; sync_with_master; select count(*) from t3 where n = 4; #clean up connection master; drop table if exists t1,t2,t3; save_master_pos; connection slave; sync_with_master;