rpl_max_relay_size.test
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:2k
源码类别:
MySQL数据库
开发平台:
Visual C++
- # Test of options max_binlog_size and max_relay_log_size and
- # how they act (if max_relay_log_size == 0, use max_binlog_size
- # for relay logs too).
- # Test of manual relay log rotation with FLUSH LOGS.
- source include/master-slave.inc;
- connection slave;
- stop slave;
- connection master;
- # Generate a big enough master's binlog to cause relay log rotations
- create table t1 (a int);
- let $1=800;
- disable_query_log;
- begin;
- while ($1)
- {
- # eval means expand $ expressions
- eval insert into t1 values( $1 );
- dec $1;
- }
- enable_query_log;
- drop table t1;
- save_master_pos;
- connection slave;
- reset slave;
- set global max_binlog_size=8192;
- set global max_relay_log_size=8192-1; # mapped to 4096
- select @@global.max_relay_log_size;
- start slave;
- sync_with_master;
- --replace_result $MASTER_MYPORT MASTER_PORT
- --replace_column 1 # 33 #
- show slave status;
- stop slave;
- reset slave;
- set global max_relay_log_size=(5*4096);
- select @@global.max_relay_log_size;
- start slave;
- sync_with_master;
- --replace_result $MASTER_MYPORT MASTER_PORT
- --replace_column 1 # 33 #
- show slave status;
- stop slave;
- reset slave;
- set global max_relay_log_size=0;
- select @@global.max_relay_log_size;
- start slave;
- sync_with_master;
- --replace_result $MASTER_MYPORT MASTER_PORT
- --replace_column 1 # 33 #
- show slave status;
- # Tests below are mainly to ensure that we have not coded with wrong assumptions
- stop slave;
- reset slave;
- # test of relay log rotation when the slave is stopped
- # (to make sure it does not crash).
- flush logs;
- --replace_result $MASTER_MYPORT MASTER_PORT
- --replace_column 1 # 33 #
- show slave status;
- reset slave;
- start slave;
- sync_with_master;
- # test of relay log rotation when the slave is started
- flush logs;
- # We have now easy way to be sure that the SQL thread has now deleted the
- # log we just closed. But a trick to achieve this is do an update on the master.
- connection master;
- create table t1 (a int);
- save_master_pos;
- connection slave;
- sync_with_master;
- --replace_result $MASTER_MYPORT MASTER_PORT
- --replace_column 1 # 33 #
- show slave status;
- # one more rotation, to be sure Relay_Log_Space is correctly updated
- flush logs;
- connection master;
- drop table t1;
- save_master_pos;
- connection slave;
- sync_with_master;
- --replace_result $MASTER_MYPORT MASTER_PORT
- --replace_column 1 # 33 #
- show slave status;
- connection master;
- # test that the absence of relay logs does not make a master crash
- flush logs;
- show master status;
- # End of 4.1 tests