双主双从架构图:

两个单主单从,依靠master主机之间的互相复制,组成一个双主双从
master1挂了,master2顶上,master2挂了,master1顶上,互相备胎
开始搭建mysql双主双从:
1.master1配置:
修改配置文件: vim /etc/my.cnf
就写在[mysqld]下面就行
新增一行 server-id=1 #主服务唯一ID
新增一行 log-bin=mysql-bin #启用二进制日志
新增一行 binlog-do-db=testdb #需要复制的主数据库,可新增多行配置多个
新增一行 binlog-ignore-db=mysql #不要复制的数据库,比如自带的,可新增多行配置多个,其实也不用配置,配置了binlog-do-db就行
新增一行 binlog-format=MIXED #日志格式
新增一行 log-slave-updates #在作为从数据库的时候,有写入操作也要更新二进制日志文件
新增一行 auto-increment-offset=1 #表示自增长字段从哪个数开始,默认值是1作为起始值,取值范围为1~65535
新增一行 auto-increment-increment=2 #表示自增长每次递增的量,一次递增多少,取值范围为1~65535
新增好之后保存就好了。
2.master2配置
修改配置文件: vim /etc/my.cnf
就写在[mysqld]下面就行
新增一行 server-id=3 #主服务唯一ID
新增一行 log-bin=mysql-bin #启用二进制日志
新增一行 binlog-do-db=testdb #需要复制的主数据库,可新增多行配置多个
新增一行 binlog-ignore-db=mysql #不要复制的数据库,比如自带的,可新增多行配置多个,其实也不用配置,配置了binlog-do-db就行
新增一行 binlog-format=MIXED #日志格式
新增一行 log-slave-updates #在作为从数据库的时候,有写入操作也要更新二进制日志文件
新增一行 auto-increment-offset=2 #表示自增长字段从哪个数开始,默认值是1作为起始值,取值范围为1~65535
新增一行 auto-increment-increment=2 #表示自增长每次递增的量,一次递增多少,取值范围为1~65535
新增好之后保存就好了。
备注:master1和master2 auto-increment-offset要设置成不同,使主键id值不同,这里为奇偶
3.slave1的配置:
修改配置文件:vim /etc/my.cnf
就写在[mysqld]下面就行
新增一行 server-id=2 #从服务唯一ID
新增一行 relay-log=mysql-relay
新增好之后保存就好了。
4.slave2的配置:
修改配置文件:vim /etc/my.cnf
就写在[mysqld]下面就行
新增一行 server-id=4 #从服务唯一ID
新增一行 relay-log=mysql-relay
新增好之后保存就好了。
5.双主双从重启服务
6.主机从机都关闭防火墙,云服务器可不需要,开启端口,只要主从能互通就行
8.两个主机互相复制,a:master2看成是master1从机,b:master1看成是master2从机,参考步骤7文档,把a,b看成单主单从搭建起来
9.双主双从搭建完毕
学习mycat实战应用笔记:https://b23.tv/V3zlAs