【MySQL】 主从复制多拓扑搭建实验

一、实验目的

掌握单主机多 MySQL 实例基础上搭建一主一从(1-2) 传统主从复制,理解server-id、binlog、relay-log 复制核心参数作用;

学会搭建链式主从(1-2-3)级联复制,掌握备份数据初始化新从库的完整流程;

理解 GTID 全局事务 ID 复制原理,搭建环形复制拓扑(1-2-3-1);

熟练完成复制账号创建、主从关系配置、复制线程启停、同步数据验证、旧复制环境清理等运维操作;

理解不同复制拓扑的同步逻辑、适用场景与 GTID 规避循环复制的机制。

二、实验内容

本实验基于单主机 4 套 MySQL 多实例(server1~server4),分三阶段搭建三种复制架构:

搭建 1 主 1 从(server1 为主库、server2 为从库)基础主从复制,完成参数配置、复制账号授权、数据同步验证;

在 1-2 主从基础上扩展链式级联复制,新增 server3 作为 server2 的从库,验证多级数据同步;

开启 GTID 模式,清理原有复制环境,搭建 1-2-3-1 环形复制拓扑,验证全节点双向同步,理解 GTID 保障事务唯一性、避免循环复制的原理。

三、实验心得

这种环形里每台服务器都能同时接收写入、同步数据,既分担了压力,又能让任意节点的修改最终同步到所有机器上,是一种兼顾读写扩展性和数据一致性的架构设计

靠 GTID 和 server_uuid 保证事务在环里不会循环重复执行

这种架构的优势是无单点瓶颈、读写扩展性更强

四、实验操作步骤

二、主从复制 1------2

1

2 、查看配置文件

3 、server-id、log-bin、relay-log

4 、自动加载repl.cnf 复制配置

5

6 、一台机器跑多个独立 MySQL 服务

7 、查看进程状态

8 、进入server1

9 、查看主库二进制日志文件名和日志位置

10 、在主库创建专门的复制账号并授权复制权限

11 、主库创建库并导入测试数据,用于验证

12、 进入server2

13 、在从库配置主从关系

14 、查看从库库列表

15 、启动从库复制线程,开启主从复制

16

17 、查看从库库列表,能自动看到主库的world库

三、在已有一主一从的环境里,再加一个新的从库,横向扩展,1------2,2------3

1、 备份主库数据,,未了后续建从库

2 、改配置文件

3、 登录server3

4 、导入第1题的备份文件,让server3自动知道自己的主库是server2

5、 启动server3的复制线程

6 、在server1上删除ID>4070的数据,发现2和3也同步修改,证明复制链路生效

7

四 1------2------3------1环形复制拓扑

1

2 、为每个mysql开启GTID

3

4

5 、清除旧的复制,为GTID复制做准备,避免冲突

6 、重置主库,清空旧的二进制日志,确保复制环境干净。

7、 让2、3使用GTID进行复制

8 、开启从库2、3的复制线程

9 、在1上删除 ID>4060 的数据,2、3数据同步

10 、这是GTID复制中唯一标识每个实例的 ID,确保复制的全局唯一性

11

12 、 3------1,将1的主库修改为3

13、 在2上删除ID>4050 的城市数据,1和3同步修改,证明环形复制生效

相关推荐
han_hanker1 小时前
sql语法 DECODE, CASE ... WHEN
数据库·sql·oracle
井川廊咏1 小时前
vi 删除指定范围的行,不用再反复按 dd
数据库·mysql
张忠琳2 小时前
【NVIDIA】k8s-device-plugin v0.19.3 标签管理模块 (internal/lm) 深度分析之六
云原生·容器·架构·kubernetes·nvidia
小码农 - 初2 小时前
MySQL前言
mysql
z落落2 小时前
StudentInfo表 分页、增删改 存储过程+C# WinForm 存储过程实现分页和增删改查
数据库·sql·mysql
小匠石钧知2 小时前
02_在多个RockyLinux10虚拟机上安装k8s集群
云原生·容器·kubernetes·k8s
影寂ldy2 小时前
WinForm 数据库【新增+编辑】完整功能(参数化查询+配置文件+防报错全套)
数据库
阿里云云原生3 小时前
一周上线!信永中和基于阿里云 AgentTeams + AI 网关打造多智能体 AI 平台
阿里云·云原生·ai网关·agentteams
星野爱8953 小时前
远程控制哪家安全性更高?ToDesk、UU远程、向日葵隐私屏深度测评!
linux·运维·网络