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

MySQL数据库

开发平台:

Visual C++

  1. source include/master-slave.inc;
  2. # prepare version for substitutions
  3. let $VERSION=`select version()`;
  4. # stop slave before he will start replication also sync with master
  5. # for avoiding undetermenistic behaviour
  6. save_master_pos;
  7. connection slave;
  8. sync_with_master;
  9. stop slave;
  10. connection master;
  11. # create some events on master
  12. create table t1(n int not null auto_increment primary key);
  13. insert into t1 values (1),(2),(3),(4);
  14. drop table t1;
  15. create table t2(n int not null auto_increment primary key);
  16. insert into t2 values (1),(2);
  17. insert into t2 values (3),(4);
  18. drop table t2;
  19. --replace_result $VERSION VERSION
  20. show binlog events;
  21. # try to replicate all queries until drop of t1
  22. connection slave;
  23. start slave until master_log_file='master-bin.000001', master_log_pos=244;
  24. sleep 2;
  25. # here table should be still not deleted
  26. select * from t1;
  27. --replace_result $MASTER_MYPORT MASTER_MYPORT
  28. --replace_column 1 # 9 # 23 # 33 #
  29. show slave status;
  30. # this should fail right after start
  31. start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
  32. # again this table should be still not deleted
  33. select * from t1;
  34. sleep 2;
  35. --replace_result $MASTER_MYPORT MASTER_MYPORT
  36. --replace_column 1 # 9 # 23 # 33 #
  37. show slave status;
  38. # try replicate all until second insert to t2;
  39. start slave until relay_log_file='slave-relay-bin.000002', relay_log_pos=537;
  40. sleep 4;
  41. select * from t2;
  42. --replace_result $MASTER_MYPORT MASTER_MYPORT
  43. --replace_column 1 # 9 # 23 # 33 #
  44. show slave status;
  45. # clean up
  46. start slave;
  47. connection master;
  48. save_master_pos;
  49. connection slave;
  50. sync_with_master;
  51. stop slave;
  52. # this should stop immideately
  53. start slave until master_log_file='master-bin.000001', master_log_pos=561;
  54. # 2 is not enough when running with valgrind
  55. --real_sleep 4
  56. # here the sql slave thread should be stopped
  57. --replace_result $MASTER_MYPORT MASTER_MYPORT bin.000005 bin.000004 bin.000006 bin.000004 bin.000007 bin.000004
  58. --replace_column 1 # 9 # 23 # 33 #
  59. show slave status;
  60. #testing various error conditions
  61. --error 1277
  62. start slave until master_log_file='master-bin', master_log_pos=561;
  63. --error 1277
  64. start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;
  65. --error 1277
  66. start slave until master_log_file='master-bin.000001';
  67. --error 1277
  68. start slave until relay_log_file='slave-relay-bin.000002';
  69. --error 1277
  70. start slave until relay_log_file='slave-relay-bin.000002', master_log_pos=561;
  71. start slave sql_thread;
  72. start slave until master_log_file='master-bin.000001', master_log_pos=561;
  73. # End of 4.1 tests