MySQL入门学习-运维与架构.多源复制

MySQL的多源复制是一个高级特性,它允许一个MySQL服务器(从库)从多个源服务器(主库)复制数据。这种功能在多种场景下都非常有用,比如数据合并、分布式数据库架构中的数据同步等。

一、多源复制的特点和使用方法:

1. 特点:

  • 一个从库可以同时从多个主库复制数据。

  • 多个主库之间没有主从关系。

  • 主要用于将多个MySQL中的数据聚合到一个MySQL中。

2. 使用方法:

  • 在从库上设置 'master-info-repository' 和 'relay-log-info-repository' 参数,以确保数据一致性。

  • 需要确保从每个主数据库中复制不同的数据库,或者处理复制数据时产生的数据冲突。

  • 配置过程中涉及到修改MySQL的配置文件 'my.cnf',设置相关的复制参数。

3. 配置步骤(简化版):

  • 修改每台MySQL服务器的 'my.cnf' 文件,添加必要的复制参数。

  • 在主库上执行锁表操作,并查看主库的运行状态。

  • 在从库上创建数据同步的账户信息,并配置从库的设置。

  • 在从库上启动MySQL从库服务,并查看从库的运行状态。

二、与其他复制的比较:

  • 与传统的单源复制相比,多源复制可以更有效地利用从库资源,因为它可以同时处理来自多个主库的数据。

  • 与 'multi-master' 复制不同,'multi-source' 复制是将多个主库同步到一个从库上面,而 'multi-master' 通常是指环形复制,数据可以在任意主机间复制。

三、高级应用:

- 数据分析:

可以将各个业务部门的数据复制到统一的数据库中,便于数据分析部门使用。

- 数据汇总:

在从服务器上进行数据汇总,尤其适用于主服务器进行了分库分表操作的场景。

- 数据备份:

可以将多个主服务器的数据同步到一个从服务器进行备份,减少资源浪费和维护成本。

四、示例代码:

以下是在从库上设置复制的示例代码:

sql 复制代码
-- 在从库上创建同步账户
CREATE USER 'sync_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'sync_user'@'%';
-- 在从库上配置主库信息
CHANGE MASTER TO MASTER_HOST='master1_host', MASTER_USER='sync_user', MASTER_PASSWORD='password', ...;
-- 启动从库服务
START SLAVE;
相关推荐
惊讶的猫16 分钟前
Redis持久化介绍
数据库·redis·缓存
Apple_羊先森28 分钟前
ORACLE数据库巡检SQL脚本--19、磁盘读次数最高的前5条SQL语句
数据库·sql·oracle
AI视觉网奇29 分钟前
ue 角色驱动衣服 绑定衣服
笔记·学习·ue5
全栈前端老曹1 小时前
【MongoDB】Node.js 集成 —— Mongoose ORM、Schema 设计、Model 操作
前端·javascript·数据库·mongodb·node.js·nosql·全栈
神梦流1 小时前
ops-math 算子库的扩展能力:高精度与复数运算的硬件映射策略
服务器·数据库
让学习成为一种生活方式1 小时前
trf v4.09.1 安装与使用--生信工具42-version2
数据库
啦啦啦_99992 小时前
Redis-5-doFormatAsync()方法
数据库·redis·c#
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [drivers][input]serio
linux·笔记·学习
生产队队长2 小时前
Redis:Windows环境安装Redis,并将 Redis 进程注册为服务
数据库·redis·缓存
老邓计算机毕设2 小时前
SSM找学互助系统52568(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·javaweb 毕业设计