MySQL 复制拓扑

📅 2026/8/11 16:19:25
MySQL 复制拓扑
一、异步/半同步复制1. 一主一从架构单主库 单从库流程主库开启 binlog所有写入记录二进制日志从库 IO 线程拉取 binlogSQL 线程重放实现数据同步。优势部署极简配置成本低适合学习、小型业务、单机备份。劣势读能力无法扩展主库故障需手动切换无自动容灾。适用个人项目、测试环境、低并发小型后台。2. 一主多从架构1 台主库挂载多台独立从库主库 ├─ 从库1业务读节点分担查询压力 ├─ 从库2离线报表、大数据统计 └─ 从库3延时备份从库master_delay特点多从库职责拆分互不干扰。延时从库可误删恢复数据。优势轻松扩容读请求单台从故障不影响整体集群。劣势从库数量过多会加重主库网络、dump 线程压力写入依旧只有单点。适用读多写少互联网业务商城、资讯平台。3. 级联复制树形中继复制架构根主库 → 中继从库次级主→ 多台下游从库关键配置中继节点必须开启log_slave_updates1否则无法转发 binlog。优势大量从库场景下分摊根主库网络压力支持跨机房分层同步。劣势同步延迟逐层叠加中继节点宕机下游全部断同步。适用拥有几十上百台从库的大型集群、多地机房架构。4. 双主互写双向主主复制架构两台节点互相作为对方主库均可写入核心配套配置自增 ID 步长错开避免主键冲突。优势双节点均可写入故障切换简单双机房互备。劣势无内置冲突检测业务并发写入易出现主键、唯一索引冲突不建议高并发写场景。适用双机房冷备、低写入量业务一般搭配中间件限制单节点写入。5. 环形多主复制架构3 台及以上节点首尾相连环形互相同步缺陷冲突风险极高任意节点异常会影响整个环运维难度极大。现状线上几乎淘汰不推荐生产使用。二、多源复制拓扑架构单台从库同时同步多个独立主库 binlog用途多业务库数据汇总、分库合并统计。优势一台汇总节点统一拉取多主数据减少机器资源。限制仅支持从库读不能反向同步多主表名重复易冲突需要业务规避。适用数据中台、多业务分库汇总报表。三、MGR 组复制拓扑MGR 基于 Paxos 协议自带冲突检测解决传统多主复制数据冲突问题分两种模式。1. 单主模式集群内仅一台主节点提供写入其余节点只读自动故障转移。优势无数据冲突运维简单自动选主高可用能力强。适用绝大多数线上业务替代传统双主。2. 多主模式集群所有节点均可写入内置冲突校验冲突事务自动回滚。劣势并发写入性能损耗大表必须有唯一主键。适用多机房对等写入、跨区域分布式业务。四、总结小型业务、简单备份一主一从读写分离、大量查询一主多从上百台从库、跨机房分层级联复制多业务分库数据汇总多源复制追求自动故障转移、高可用MGR 单主模式低并发双机房互备传统双主谨慎使用高并发多节点写入MGR 多主模式