MySQL 双主双从+读写分离配置
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="http://io.mycat/">
<schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1">
</schema>
<dataNode name="dn1" dataHost="localhost1" database="testdb" />
<!--双主双从-->
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!--百度1-->
<writeHost host="hostM1" url="jdbc:mysql://106.13.127.37:3306" user="root"
password="4513zzk.">
<!-- 百度3-->
<readHost host="hostS1" url="jdbc:mysql://106.12.196.8:3306" user="root"
password="4513zzk."></readHost>
</writeHost>
<!--百度2-->
<writeHost host="hostM2" url="jdbc:mysql://106.13.32.222:3306" user="root"
password="4513zzk.">
<!-- 百度4-->
<readHost host="hostS2" url="jdbc:mysql://106.12.71.243:3306" user="root"
password="4513zzk."></readHost>
</writeHost>
</dataHost>
</mycat:schema>
8.配置完毕,百度1和百度2为写主机,百度3和百度4为读主机
下一篇:
一文带你了解左连接右连接
