# Testing if "flush logs" command bouncing resulting in logs created in a loop # in case of bi-directional replication -- source include/master-slave.inc let $MYSQLD_DATADIR= `select @@datadir`; --replace_result $MYSQLD_DATADIR MYSQLD_DATADIR/ show variables like 'relay_log%'; connection slave; --disable_warnings stop slave; --enable_warnings --replace_result $MASTER_MYPORT MASTER_PORT eval change master to master_host='127.0.0.1',master_user='root', master_password='',master_port=$MASTER_MYPORT; start slave; # # Start replication slave -> master # connection master; --disable_warnings stop slave; --enable_warnings --replace_result $SLAVE_MYPORT SLAVE_PORT eval change master to master_host='127.0.0.1',master_user='root', master_password='',master_port=$SLAVE_MYPORT; source include/start_slave.inc; # # Flush logs of slave # # Create full loop by following way: # 1. Insert into t1 on master (1st). # 2. Insert into t1 on slave (2nd) when the event (1st) for t1 replicated. # 3. Master waits until the event (2nd) for t1 will be replicated. --disable_query_log CREATE TABLE t1 (a INT KEY) ENGINE= MyISAM; let $wait_binlog_event= CREATE TABLE t1; --source include/wait_for_binlog_event.inc sync_slave_with_master; connection master; INSERT INTO t1 VALUE(1); --enable_query_log FLUSH LOGS; let $slave_param_value= query_get_value(SHOW MASTER STATUS, Position, 1); connection slave; let $slave_param= Exec_Master_Log_Pos; source include/wait_for_slave_param.inc; --disable_query_log INSERT INTO t1 VALUE(2); let $slave_param_value= query_get_value(SHOW MASTER STATUS, Position, 1); --enable_query_log connection master; let $slave_param= Exec_Master_Log_Pos; source include/wait_for_slave_param.inc; --enable_query_log # # Show status of slave # --replace_result $SLAVE_MYPORT SLAVE_PORT $slave_param_value POSITION --replace_column 1 # 8 # 9 # 16 # 23 # 33 # 34 # 35 # --query_vertical SHOW SLAVE STATUS --disable_query_log connection master; DROP TABLE t1; sync_slave_with_master; --enable_query_log