本文主要介绍 MySQL 数据库的双主双从架构, 其中主从同步采用多源复制的机制。
一. 数据库架构介绍
本次搭建的 MySQL 数据库架构图如下所示:
其中,master1 和 master2 是两台主库,负责数据增删改操作。
这两台主库的主从关系为互为主从,且在 Haproxy 中配置 master1 是主库,master2 是备库,正常情况下 master1 提供数据增删改操作,master2 作为备份库实时同步 master1 的数据更新,一旦主库 master1 出现异常,Haproxy 将会切换到备库 master2 继续提供数据增删改操作。
slave1 和 slave2 是两台从库,且配置了只读属性,负责系统数据读取操作。
两台从库 slave1 和 slave2 的主库都为 master1 和 master2,且在 Haproxy 中配置 slave1 和 slave2 为负载均衡模式,提供系统数据读取操作。
二. 数据库环境准备和安装
1.环境准备
mysql版本:5.7
操作系统:CentOS 6
双主双从架构,需要4台服务器:
服务器名称 | 服务器ip | 说明 |
---|---|---|
master1服务器 | 10.200.0.201 | 提供数据增删改操作的主库 |
master2服务器 | 10.200.0.202 | 实时同步 master1 数据更新的备份库 |
slave1服务器 | 10.200.0.203 | 负载均衡模式,提供系统数据读取操作 |
slave2服务器 | 10.200.0.204 | 负载均衡模式,提供系统数据读取操作 |
2.安装步骤
下载mysql 安装包
https://download.csdn.net/download/j1231230/18546367
解压 tar 包
tar xvf mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar
安装组件,按次序一个一个安装
yum install -y libaio.x86_64 numactl.x86_64 perl-JSON.noarch perl-Time-HiRes.x86_64
rpm -ivh mysql-community-common-5.7.16-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.16-1.el6.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-devel-5.7.16-1.el6.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-compat-5.7.16-1.el6