环境:
主机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‘;
show master status;
【第一套主从-主机B-slave】
【第二套主从-主机B-master】
说明:授权的用户名可以不一样
grant replication slave on *.* to ‘silen‘@‘172.16.115.157‘ identified by ‘123456‘;
show master status;
【第二套主从-主机A-slave】
四. 主机分别开启slave,并检查slave状态show slave status\G;
主机A
主机B
五. 在B服务器上的test库中创建一个表tb1,A服务器也产生tb1
主机B
主机A
六. 在A服务器上的test库中创建一个表tb2,B服务器也产生tb2
主机A
主机B