windows下mysql互为主从(主主复制)

前面已经介绍过windows下mysql的主从复制,一下繁琐的步骤就不在详细介绍,推荐配置互为主从之前先参考一下

http://blog.csdn.net/starrykey/article/details/52231466


1,需要两台搭建完成的mysql(mysql_A:3306,mysql_B:3307)

2,修改mysql配置文件
2.1,修改mysql_A的配置文件

(或许原有配置文件中已有下面某一行,则无需加入重复的)

[python]  view plain  copy
  1. [mysqld]  
  2. # for repl  
  3. server-id = 1  
  4. binlog_checksum=none #如果两个mysql的版本不一样则加入此行  
  5. log-bin = mysql-bin  
  6. auto-increment-increment= 2 # 应设为整个结构中服务器的总数  
  7. auto-increment-offset = 1 # 设定数据库中自动增长的起点,避免两台服务器数据同步时出现主键冲突  


2.2,修改mysql_B的配置文件

[python]  view plain  copy
  1. [mysqld]  
  2. # for repl  
  3. server-id = 2  
  4. log-bin = mysql-bin  
  5. auto-increment-increment= 2  
  6. auto-increment-offset = 2  


3.1,mysql_A指定mysql_B为主库


3.2,在mysql_B创建用户并清除日志

[python]  view plain  copy
  1. GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*  TO mysql_backup@'%' IDENTIFIED BY '123456';  
  2.   
  3.   
  4. RESET MASTER  

3.3,在mysql_B中查询当前B的状态

[python]  view plain  copy
  1. show MASTER STATUS  

结果如下图:


(图片如果无法显示则脑补,哈哈)

file:mysql-bin.00001

position:3870

(只写这两个比较重要的参数)


3.4,在mysql_A中停止slave

[python]  view plain  copy
  1. stop SLAVE  

3.5,mysql_A链接主库mysql_B

[python]  view plain  copy
  1. CHANGE MASTER TO master_host = '127.0.0.1',  
  2. master_port=3307,   #这里是要连接主库(mysql_B)的端口号,默认是3306,如果你的主库端口不是3306则要加上这一行  
  3.  master_user = 'mysql_backup',  
  4.  master_password = '123456',  
  5.  master_log_file = 'mysql-bin.000001',  
  6.  master_log_pos = 3870;  

3.6,开启slave

[python]  view plain  copy
  1. START SLAVE  

 
  3.7,查看当前是否连接成功 
  

[python]  view plain  copy
  1. show SLAVE STATUS  
结果如下图:


如果上图中的两个yes存在则成功

slave_lo_running:yes

slave_sql_running:yes


4.1,mysql_B指定mysql_A为主库


4.2,在mysql_A创建用户并清除日志

[python]  view plain  copy
  1. GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*  TO mysql_backup@'%' IDENTIFIED BY '123456';  
4.3,清除残留日志

[python]  view plain  copy
  1. RESET MASTER  

4.4,查看当前状态

[python]  view plain  copy
  1. show MASTER STATUS  
4.5,在mysql_B中停止slave

[python]  view plain  copy
  1. stop SLAVE  

4.6, mysql_B链接主库mysql_A

[python]  view plain  copy
  1. CHANGE MASTER TO master_host = '127.0.0.1',  
  2.  master_user = 'mysql_backup',  
  3.  master_password = '123456',  
  4.  master_log_file = 'mysql-bin.000001',  
  5.  master_log_pos = 1888;  

4.7,开启slave

[python]  view plain  copy
  1. START SLAVE  

4.8,查看是否连接成功

[python]  view plain  copy
  1. show SLAVE STATUS  



5,测试:

启动两个服务,在任一mysql上进行操作,在另一mysql上均能体现出来。

MySQL的主主复制实际上就是双向的主从复制。


你可能感兴趣的:(windows下mysql互为主从(主主复制))