环境:

      主机A( huangzp2):172.16.115.157

      主机B( huangzp3):172.16.115.100

     说明:双向的主从配置,互为主从;两台服务器均可以给用户访问(具备冗余功能),任务对半分,不能指定


一. 两台主机上都安装mysql mysql-server

      yum install mysql mysql-server -y


二. 编辑配置文件/etc/my.cnf

      主机A配置文件增加内容:

      log-bin=mysql-bin

      server-id=157

      replicate-do-db=test

      binlog-ignore-db=mysql

      binlog-ignore-db=information_schema

      auto_increment_increment=2

      auto_increment_offset=1


     主机B配置文件增加内容:

     log-bin=mysql-bin

     server-id=100

     replicate-do-db=test

     binlog-ignore-db=mysql

     binlog-ignore-db=information_schema

     auto_increment_increment=2

     auto_increment_offset=2


说明:

  • log-bin=mysql-bin  #表示开启二进制文件

  • server-id=100  #server id

  • replicate-do-db=test  #表示只同步test库,另外replicate-do-table表示只同步指定的表

  • binlog-ignore-db=mysql  #表示不记录mysql库的二进制文件

  • auto-increment-increment=2  #表示依次增长2

  • auto-increment-offset=1  #表示起点值,最后主键id为1、3、5.....


    注:另一台主机设置为auto-increment-increment=2,auto-increment-increment=1,最终主键id为2、4、6......保证主主同步时主键id不冲突


三. 重启下主从的mysql,并设置两套主从(第二套主从服务器刚好反过来设置)

    【第一套主从-主机A-master】

      grant replication slave on *.* to 'silen'@'172.16.115.100' identified by '123456';

 mysql数据库-主主配置_mysql

      show master status;  

 mysql数据库-主主配置_mysql_02

    

    【第一套主从-主机B-slave】

 mysql数据库-主主配置_mysql_03


    【第二套主从-主机B-master】

      说明:授权的用户名可以不一样

      grant replication slave on *.* to 'silen'@'172.16.115.157' identified by '123456';

 mysql数据库-主主配置_数据库_04

 

      show master status;

 mysql数据库-主主配置_数据库_05


    【第二套主从-主机A-slave】

 mysql数据库-主主配置_数据库_06 


四. 主机分别开启slave,并检查slave状态show slave status\G;

     主机A

 mysql数据库-主主配置_mysql_07


     主机B

 mysql数据库-主主配置_mysql_08


五. 在B服务器上的test库中创建一个表tb1,A服务器也产生tb1

     主机B

 mysql数据库-主主配置_数据库_09


     主机A

 mysql数据库-主主配置_数据库_10


六. 在A服务器上的test库中创建一个表tb2,B服务器也产生tb2

     主机A

 mysql数据库-主主配置_数据库_11


     主机B

 mysql数据库-主主配置_服务器_12