rpl000016.test
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. connect (master,localhost,root,,test,0,mysql-master.sock);
  2. connect (slave,localhost,root,,test,0,mysql-slave.sock);
  3. source include/have_default_master.inc;
  4. system cat /dev/null > var/slave-data/master.info;
  5. system chmod 000 var/slave-data/master.info;
  6. connection slave;
  7. !slave start;
  8. system chmod 600 var/slave-data/master.info;
  9. !slave start;
  10. !change master to master_host='127.0.0.1',master_port=9306,master_user='root'; 
  11. reset slave;
  12. !change master to master_host='127.0.0.1',master_port=9306,master_user='root'; 
  13. connection master;
  14. reset master;
  15. connection slave;
  16. slave start;
  17. connection master;
  18. drop table if exists t1;
  19. create table t1 (s text);
  20. insert into t1 values('Could not break slave'),('Tried hard');
  21. save_master_pos;
  22. connection slave;
  23. sync_with_master;
  24. show slave status;
  25. select * from t1;
  26. connection master;
  27. flush logs;
  28. drop table if exists t2;
  29. create table t2(m int not null primary key);
  30. insert into t2 values (34),(67),(123);
  31. save_master_pos;
  32. flush logs;
  33. show master logs;
  34. #now lets make some duplicate key mess and see if we can recover from it
  35. #first insert a value on the slave
  36. connection slave;
  37. sync_with_master;
  38. insert into t2 values(1234);
  39. #same value on the master
  40. connection master;
  41. save_master_pos;
  42. insert into t2 values(1234);
  43. connection slave;
  44. sync_with_master;
  45. #the slave may have already stopped, so we ignore the error
  46. !slave stop;
  47. #restart slave skipping one event
  48. set sql_slave_skip_counter=1;
  49. slave start;
  50. connection master;
  51. save_master_pos;
  52. #let slave catch up
  53. connection slave;
  54. sync_with_master;
  55. connection master;
  56. purge master logs to 'master-bin.003';
  57. show master logs;
  58. insert into t2 values (65);
  59. save_master_pos;
  60. connection slave;
  61. sync_with_master;
  62. show slave status;
  63. select * from t2;
  64. connection master;
  65. let $1=100;
  66. drop table if exists t3;
  67. create table t3 (n int);
  68. while ($1)
  69. {
  70.  insert into t3 values(4);
  71.  dec $1;
  72. }
  73. show master logs;
  74. show master status;
  75. save_master_pos;
  76. connection slave;
  77. slave stop;
  78. slave start;
  79. sync_with_master;
  80. show slave status;
  81. select count(*) from t3 where n = 4;
  82. #clean up
  83. connection master;
  84. drop table if exists t1,t2,t3;
  85. save_master_pos;
  86. connection slave;
  87. sync_with_master;