MySQL 双主双从+读写分离配置
1.架构图如下
2.配置如下
Master1,即百度1配置:
[mysqld]
# 启用二进制日志
log-bin=mysql-bin
# 唯一服务id
server-id=1(重点,必须唯一)
# 需要复制的数据库名
binlog-do-db=testdb
# 设置log-bin格式
binlog_format=STATEMENT
# 作为从库时写入bin-log日志(重点)
log-slave-updates
# 设置自增递增量(重点)
auto-increment-increment=2
# 设置自增起始id(重点)
auto-increment-offset=1
Master2,即百度2配置:
[mysqld]
# 启用二进制日志
log-bin=mysql-bin
# 唯一服务id(重点,必须唯一)
server-id=2
# 需要复制的数据库名
binlog-do-db=testdb
# 设置log-bin格式
binlog_format=STATEMENT
# 作为从库时写入bin-log日志(重点)
log-slave-updates
# 设置自增递增量(重点)
auto-increment-increment=2
# 设置自增起始id(重点)
auto-increment-offset=1
Slave1,即百度3,作为Master1的从机:
[mysqld]
# 唯一服务id
server-id=3
# 启用中继日志
relay-log=mysql-relay
Slave2,即百度4,作为Master2的从机:
[mysqld]
# 唯一服务id
server-id=4
# 启用中继日志
relay-log=mysql-relay
- 配置好之后重启四台主机的Mysql服务
- 确保防火墙都关闭
- 在两台Master主机中执行授权命令,创建Slave角色,作为从机登录用
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123123';
5.按照主从复制的方式将两台从机即百度3,百度4分别设置主机为百度1,百度2,然后启动复制,具体主从复制参考我之前的主从复制文章。
6.按照同样的方式设置两台主机的主从复制,百度1的主机为百度2,百度2的主机为百度1。
7.配置mycat,主要为schema.xml。
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat=</