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为读主机
下一篇:
一文带你了解左连接右连接