rpl000001.test
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:3k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. source include/master-slave.inc;
  2. create table t1 (word char(20) not null);
  3. load data infile '../../std_data/words.dat' into table t1;
  4. --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
  5. eval load data local infile '$MYSQL_TEST_DIR/std_data/words.dat' into table t1;
  6. select * from t1 limit 10;
  7. #
  8. # Test slave with wrong password
  9. #
  10. save_master_pos;
  11. connection slave;
  12. sync_with_master;
  13. stop slave;
  14. connection master;
  15. set password for root@"localhost" = password('foo');
  16. connection slave;
  17. start slave;
  18. connection master;
  19. #
  20. # Give slave time to do at last one failed connect retry
  21. # This one must be short so that the slave will not stop retrying
  22. real_sleep 2;
  23. set password for root@"localhost" = password('');
  24. # Give slave time to connect (will retry every second)
  25. sleep 2;
  26. create table t3(n int);
  27. insert into t3 values(1),(2);
  28. save_master_pos;
  29. connection slave;
  30. sync_with_master;
  31. select * from t3;
  32. select sum(length(word)) from t1;
  33. connection master;
  34. drop table t1,t3;
  35. save_master_pos;
  36. connection slave;
  37. sync_with_master;
  38. #test handling of aborted connection in the middle of update
  39. connection master;
  40. reset master;
  41. connection slave;
  42. stop slave;
  43. reset slave;
  44. connection master;
  45. create table t1(n int);
  46. #we want the log to exceed 16K to test deal with the log that is bigger than
  47. #IO_SIZE
  48. let $1=5000;
  49. disable_query_log;
  50. while ($1)
  51. {
  52.  eval insert into t1 values($1+get_lock("hold_slave",10)*0);
  53.  dec $1;
  54. }
  55. enable_query_log;
  56. # Try to cause a large relay log lag on the slave 
  57. connection slave;
  58. select get_lock("hold_slave",10);
  59. explain extended select get_lock("hold_slave",10);
  60. start slave;
  61. #hope this is long enough for I/O thread to fetch over 16K relay log data
  62. sleep 3;
  63. select release_lock("hold_slave");
  64. explain extended select release_lock("hold_slave");
  65. unlock tables;
  66. connection master;
  67. create table t2(id int);
  68. insert into t2 values(connection_id());
  69. save_master_pos;
  70. connection master1;
  71. # Avoid generating result
  72. create temporary table t3(n int);
  73. insert into t3 select get_lock('crash_lock%20C', 1) from t2;
  74. connection master;
  75. send update t1 set n = n + get_lock('crash_lock%20C', 2);
  76. connection master1;
  77. sleep 3;
  78. select (@id := id) - id from t2;
  79. kill @id;
  80. # We don't drop t3 as this is a temporary table
  81. drop table t2;
  82. connection master;
  83. --error 1053
  84. reap;
  85. connection slave;
  86. # The SQL slave thread should now have stopped because the query was killed on
  87. # the master (so it has a non-zero error code in the binlog).
  88. wait_for_slave_to_stop;
  89. # The following test can't be done because the result of Pos will differ
  90. # on different computers
  91. # --replace_result $MASTER_MYPORT MASTER_PORT
  92. # show slave status;
  93. set global sql_slave_skip_counter=1;
  94. start slave;
  95. select count(*) from t1;
  96. connection master1;
  97. drop table t1;
  98. create table t1 (n int);
  99. insert into t1 values(3456);
  100. insert into mysql.user (Host, User, Password)
  101.  VALUES ("10.10.10.%", "blafasel2", password("blafasel2"));
  102. select select_priv,user from mysql.user where user = _binary'blafasel2';
  103. update mysql.user set Select_priv = "Y" where User= _binary"blafasel2";
  104. select select_priv,user from mysql.user where user = _binary'blafasel2';
  105. save_master_pos;
  106. connection slave;
  107. sync_with_master;
  108. select n from t1;
  109. select select_priv,user from mysql.user where user = _binary'blafasel2';
  110. connection master1;
  111. drop table t1;
  112. save_master_pos;
  113. connection slave;
  114. sync_with_master;
  115. # End of 4.1 tests