eval_result; source include/master-slave.inc; connection master; use test; drop table if exists t1,t3; create table t1 (word char(20) not null); load data infile '../../std_data/words.dat' into table t1; eval load data local infile '$MYSQL_TEST_DIR/std_data/words.dat' into table t1; select * from t1; set password for root@"localhost" = password('foo'); set password for root@"localhost" = password(''); create table t3(n int); insert into t3 values(1),(2); save_master_pos; connection slave; sync_with_master; use test; 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; slave stop; reset slave; connection master; drop table if exists t1,t2; 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); slave start; #hope this is long enough for I/O thread to fetch over 16K relay log data sleep 1; 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 t1_temp(n int); insert into t1_temp 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 2; select (@id := id) - id from t2; kill @id; drop table t2; connection master; --error 1053; reap; connection slave; sync_with_master ; #give the slave a chance to exit wait_for_slave_to_stop; # The following test can't be done because the result of Pos will differ # on different computers # --replace_result 9306 9999 3334 9999 3335 9999 # show slave status; set sql_slave_skip_counter=1; slave start; select count(*) from t1; connection master1; drop table t1; create table t1 (n int); insert into t1 values(3456); use mysql; insert into user (Host, User, Password) VALUES ("10.10.10.%", "blafasel2", password("blafasel2")); select select_priv,user from mysql.user where user = 'blafasel2'; update user set Select_priv = "Y" where User="blafasel2"; select select_priv,user from mysql.user where user = 'blafasel2'; use test; save_master_pos; connection slave; sync_with_master; select n from t1; select select_priv,user from mysql.user where user = 'blafasel2'; connection master1; drop table t1; save_master_pos; connection slave; sync_with_master;