1.MySQL Replication
常用架构
MySQL Replication
技术在实际应用中有多种实现架构,常见的有:
一主一从,即一个Master服务器和一个Slave服务器。这是最常见的架构。
一主多从,即一个Master服务器和两个或两个以上Slave服务器。经常用在写操作不频繁、查询量比较大的业务环境中。
主主互备,又称双主互备,即两个MySQL Server互相将对方作为自己的Master,自己又同时作为对方的Slave来进行复制。主要用于对MySQL写操作要求比较高的环境中,避免了MySQL单点故障。
双主多从,其实就是双主互备,然后再加上多个Slave服务器。主要用于对MySQL写操作要求比较高,同时查询量比较大的环境中。
2.必须遵守的规则
在进行Mysql Replication
各种部署之前,有一些必须遵守的规则:
- 一个Master服务器可以有多个Slave服务器。
- 无论是Master服务器还是Slave服务器,都要确保各自的Server ID唯一,不然双主互备就会出问题。
- 一个Slave服务器可以将其从Master服务器获得的更新信息传递给其他的Slave服务器。依此类推。
3.MYSQL双主架构环境准备
3.1双主架构图
如下图,前端暂时放置一个应用服务器,后端数据库采用双主架构:

3.2数据库服务器基础信息规划
配置环境如下:
主机名 | IP地址 | 操作系统 | MYSQL数据库版本 | VIP |
---|
MYDB01 | 192.168.250.193 | CentOS Linux release 7.9.2009 (Core) | MYSQL-5.7.35 | 192.168.250.192 |
MYDB02 | 192.168.250.194 | CentOS Linux release 7.9.2009 (Core) | MYSQL-5.7.35 | 192.168.250.192 |
4.安装数据库
此过程略,可参考《Python运维实践》公众号发布的文章《【数据库专题1】:MYSQL数据库主流分支、存储引擎及二进制安装》。
5.MYSQL
主主互备配置
5.1修改mysql
配置文件
主要操作是:配置服务器编号,开启bin-log
日志功能。
首先在MYDB01
主机上修改my.cnf
文件,在[mysqld]
字段中原基础上增加以下内容:
[root@MYDB01 mysql]# vim /etc/my.cnf
[mysqld]
#
server-id = 1
log-bin=mysql-bin
relay-log = mysql-relay-bin
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%