MySQL 双主双从实现读写分离
本节是基于上一节继续扩展,基于Docker 实现MySQL 2主2从(读写分离)
一、2 主 2从架构解析
1.两台mysql都可读写,互为主备,默认只使用一台(masterA)负责数据的写入,另一台(masterB)备用;
2.masterA是masterB的主库,masterB又是masterA的主库,它们互为主从;
3.两台主库之间做高可用,可以采用keepalived等方案(使用VIP对外提供服务);
4.所有提供服务的从服务器与masterB进行主从同步(双主多从);
架构简易图如下:

| 服务节点 | 节点状态 |
|---|---|
| 192.168.190.165 | 既是主节点也是从节点,与183互为主从 |
| 192.168.190.183 | 既是主节点也是从节点,与165互为主从 |
| 192.168.190.184 | 是183的从节点 |
| 192.168.190.185 | 是165的从节点 |

二、主节点配置
这里是对 192.168.190.165 和 192.168.190.183 2个互为主从的主节点 做统一的配置
1.1. 编写docker-compose.yml 文件
- 创建目录 mkdir /usr/local/docker/mysql/
- cd /usr/local/docker/mysql/ && mkdir data conf
- vim docker-compose.yml
version: '3.1'
services:
mysql:
restart: always
image: mysql:5.7
container_name: mysql
ports:
- 3306:3306
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: 123456
command:
--character-set-server=utf8mb4
-

本篇博客详细介绍了如何通过Docker搭建MySQL双主双从架构,实现读写分离。主要内容包括两个主节点的配置,如docker-compose.yml和mysqld.cnf的编写,以及从节点的设置和主从复制的开启,确保主从同步正常运行。
最低0.47元/天 解锁文章
772

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



