一、概述
一主多从,可以缓解读的压力,但是一旦主宕机了,就不能写了,所以我们可以采用双主双从架构来改进它的不足。
二、双主双重架构图

架构规划
- 主master 3307 —> 从slave 3309
- 主master 3308 —> 从slave 3310
- 3307 <—> 3308 互为主从
- 2个写节点,每个写节点下又是2个读节点
三、环境配置
A、在MySQL主服务器3307配置文件my.cnf里面加入
log-bin=mysql-bin
server-id=3307
B、在MySQL主服务器3308配置文件my.cnf里面加入
log-bin=mysql-bin
server-id=3308
C、在MySQL从服务器3309配置文件my.cnf里面加入
server-id=3309
D、在MySQL从服务器3310配置文件my.cnf里面加入
server-id=3310
E、在第一台主服务器3307的my.cnf文件增加如下配置
auto_increment_increment=2
auto_increment_offset=1 #不一样的点 相当于起始值
log-slave-updates
sync_binlog=1
F、在第二台主服务器3308的my.cnf文件增加如下配置
auto_increment_increment=2
auto_increment_offset=2 #不一样的点 相当于起始值
log-slave-updates
sync_binlog=1
G、配置项说明
auto_increment_increment
控制主键自增的自增步长,用于防止 Master 与 Master 之间复制出现重复自增字段值,通常auto_increment_increment=n,有多少台主服务器,n 就设置为多少
auto_increment_offset=1
设置自增起始值,

本文详细介绍了如何搭建MySQL的双主双从架构,以实现高可用性和读写分离。主要内容包括环境配置、服务启动、主从设置以及验证步骤。配置涉及的关键点如auto_increment_increment和auto_increment_offset的设置,以及log-slave-updates和sync_binlog的使用,以防止主键冲突和确保数据同步。最后,通过show slave statusG命令检查从服务器的复制状态,确保主从关系正常。
最低0.47元/天 解锁文章
1225

被折叠的 条评论
为什么被折叠?



