rpl000001.test
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:3k
- source include/master-slave.inc;
- create table t1 (word char(20) not null);
- load data infile '../../std_data/words.dat' into table t1;
- --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
- eval load data local infile '$MYSQL_TEST_DIR/std_data/words.dat' into table t1;
- select * from t1 limit 10;
- #
- # Test slave with wrong password
- #
- save_master_pos;
- connection slave;
- sync_with_master;
- stop slave;
- connection master;
- set password for root@"localhost" = password('foo');
- connection slave;
- start slave;
- connection master;
- #
- # Give slave time to do at last one failed connect retry
- # This one must be short so that the slave will not stop retrying
- real_sleep 2;
- set password for root@"localhost" = password('');
- # Give slave time to connect (will retry every second)
- sleep 2;
- create table t3(n int);
- insert into t3 values(1),(2);
- save_master_pos;
- connection slave;
- sync_with_master;
- select * from t3;
- select sum(length(word)) from t1;
- connection master;
- drop table t1,t3;
- save_master_pos;
- connection slave;
- sync_with_master;
- #test handling of aborted connection in the middle of update
- connection master;
- reset master;
- connection slave;
- stop slave;
- reset slave;
- connection master;
- create table t1(n int);
- #we want the log to exceed 16K to test deal with the log that is bigger than
- #IO_SIZE
- let $1=5000;
- disable_query_log;
- while ($1)
- {
- eval insert into t1 values($1+get_lock("hold_slave",10)*0);
- dec $1;
- }
- enable_query_log;
- # Try to cause a large relay log lag on the slave
- connection slave;
- select get_lock("hold_slave",10);
- explain extended select get_lock("hold_slave",10);
- start slave;
- #hope this is long enough for I/O thread to fetch over 16K relay log data
- sleep 3;
- select release_lock("hold_slave");
- explain extended select release_lock("hold_slave");
- unlock tables;
- connection master;
- create table t2(id int);
- insert into t2 values(connection_id());
- save_master_pos;
- connection master1;
- # Avoid generating result
- create temporary table t3(n int);
- insert into t3 select get_lock('crash_lock%20C', 1) from t2;
- connection master;
- send update t1 set n = n + get_lock('crash_lock%20C', 2);
- connection master1;
- sleep 3;
- select (@id := id) - id from t2;
- kill @id;
- # We don't drop t3 as this is a temporary table
- drop table t2;
- connection master;
- --error 1053
- reap;
- connection slave;
- # The SQL slave thread should now have stopped because the query was killed on
- # the master (so it has a non-zero error code in the binlog).
- wait_for_slave_to_stop;
- # The following test can't be done because the result of Pos will differ
- # on different computers
- # --replace_result $MASTER_MYPORT MASTER_PORT
- # show slave status;
- set global sql_slave_skip_counter=1;
- start slave;
- select count(*) from t1;
- connection master1;
- drop table t1;
- create table t1 (n int);
- insert into t1 values(3456);
- insert into mysql.user (Host, User, Password)
- VALUES ("10.10.10.%", "blafasel2", password("blafasel2"));
- select select_priv,user from mysql.user where user = _binary'blafasel2';
- update mysql.user set Select_priv = "Y" where User= _binary"blafasel2";
- select select_priv,user from mysql.user where user = _binary'blafasel2';
- save_master_pos;
- connection slave;
- sync_with_master;
- select n from t1;
- select select_priv,user from mysql.user where user = _binary'blafasel2';
- connection master1;
- drop table t1;
- save_master_pos;
- connection slave;
- sync_with_master;
- # End of 4.1 tests