当前位置: 首页 > news >正文

MariaDB 多源复制

1️⃣ 什么是多源复制?

一句话定义

一台从库 同时从 多台主库 拉取数据,每条链路独立命名、独立过滤、独立故障处理。
多主(multi-master) 不同——后者是多台服务器互为主从并可同时写入;多源复制仍是单向,仅从库聚合


2️⃣ 典型场景

场景价值
数据中心聚合把各地分库汇总到一台分析库
分片后统一查询每个分片=一个源,从库做全局报表
零停机迁移并行同步老库+新库,最后流量切换
灾备聚合多地机房 → 异地灾备中心

3️⃣ 30 秒架构图

┌───────┐   ┌───────┐   ┌───────┐
│  M1   │   │  M2   │   │  M3   │
└──┬────┘   └──┬────┘   └──┬────┘│           │           │└───────────┴───────────┘▲┌──────────┴──────────┐│   单台从库 S        ││  multi-source       │└─────────────────────┘
  • M1/M2/M3 独立业务库
  • S 通过 3 条通道 分别同步

4️⃣ 快速部署(MariaDB 10.3+)

4.1 主库统一配置

第一台

[mysqld]
server-id       = 1          # 每台唯一
log-bin         = mysql-bin
binlog-format   = ROW
gtid-strict-mode = 1

第二台

[mysqld]
server-id       = 2         # 每台唯一
log-bin         = mysql-bin
binlog-format   = ROW
gtid-strict-mode = 1

第三台

[mysqld]
server-id       = 3         # 每台唯一
log-bin         = mysql-bin
binlog-format   = ROW
gtid-strict-mode = 1

4.2 从库配置

[mysqld]
server-id       = 101
gtid-ignore-duplicates = 1   # 多源必开

4.3 建立通道

-- 通道 m1
CHANGE MASTER 'm1' TOMASTER_HOST='10.0.0.1',MASTER_USER='repl',MASTER_PASSWORD='repl123',MASTER_USE_GTID=current_pos;-- 通道 m2
CHANGE MASTER 'm2' TOMASTER_HOST='10.0.0.2',MASTER_USER='repl',MASTER_PASSWORD='repl123',MASTER_USE_GTID=current_pos;CHANGE MASTER 'm3' TOMASTER_HOST='10.0.0.3',MASTER_USER='repl',MASTER_PASSWORD='repl123',MASTER_USE_GTID=current_pos;START ALL SLAVES;

5️⃣ 过滤规则(每通道独立)

-- m1 只同步 db1
CHANGE REPLICATION FILTER 'm1'replicate_wild_do_table = ('db1.%');-- m2 忽略系统库
CHANGE REPLICATION FILTER 'm2'replicate_wild_ignore_table = ('mysql.%','test.%');

MariaDB 用 SET GLOBAL channel.var=value;MySQL 用 FOR CHANNEL 语法。

http://www.dtcms.com/a/336187.html

相关文章:

  • Qt异步编程:QFuture与QPromise深度解析
  • Mysql常见的查询总结
  • Golang database/sql 包深度解析(二):连接池实现原理
  • 快速掌握Hardhat与Solidity智能合约开发
  • Rust Web 全栈开发(十三):发布
  • 实时视频延迟优化实战:RTSP与RTMP播放器哪个延迟更低?
  • 数据结构初阶(19)外排序·文件归并排序的实现
  • 博士招生 | 麻省理工学院 招收化学+人工智能方向 博士/博士后
  • 【编程实践】关于S3DIS数据集的问题
  • Docker+飞算JavaAI=未来:全流程容器化AI开发实战
  • Python注解
  • 【leetcode】14. 最长公共前缀
  • 构建经典PyTorch框架卷积神经网络参数demo
  • WPF真入门教程35--手搓WPF出真汁【蜀味正道CS版】
  • 中国三大主粮作物(水稻、小麦、玉米)空间分布数据集
  • Python开发环境
  • 密码学系列 - 零知识证明(ZKP) - 多种承诺方案
  • Windows Server SDN智能流量管理方案
  • 网络通信的基本概念与设备
  • 【力扣热题100】双指针—— 接雨水
  • Ubuntu22系统docker部署Dify【教程】
  • go资料汇总
  • 上网行为组网方案
  • 图论水题4
  • 隐私屏软件(支持win10以上系统)
  • Python异常、模块与包(五分钟小白从入门)
  • Android面试指南(二)
  • 工具测试 - marker (Convert PDF to markdown + JSON quickly with high accuracy)
  • JavaScript 中constructor 属性的指向异常问题
  • Python实现区域生长和RANSAC聚类