MySQL 5.7多源复制功能的应用

MySQL 5.7有一个新特性,即支持多源复制,这个功能在有些场景下还是很有用的。

首先什么是多源复制呢?摘录开源中国社区中的一段说明:

“MySQL在这个新版本中修复了一个复制限制 , 这限制是一个从站只能有一个主站. 这是一个在我们设计复制环境中的限制因素,也有一些极客使它正常工作了。但是现在有一个官方的解决办法了。所以。简单的说, Multi-Source 意味着一个从站能有一个以上主站. 现在, 像下图一样的复制环境是可能的”



也就是说,我们可以在一个实例上(slave),访问多个实例的内容(master *)。

关于具体的说明和使用方法,可参见开源中国社区的翻译文章:MySQL 5.7 的多源复制


接下来说使用场景,我们业务有多个模块,每个模块都有一个独立的数据库实例。为了便于开发、产品统计数据或排查问题,同时又不影响线上使用,又对应配置了离线库(同步主库,低延时)。由于历史原因,这些离线库的实例分散在各个集群中,而一些分析需求(各种导数据)需要多个实例中表的数据。

以前的实现方式是每次查询一个实例,中间结果放到文件中,最后通过sed、awk等进行处理。

现在有了多源复制功能,我们就可以通过一个库,访问到所有业务库的数据,再也不用担心跨实例查询的问题了。


与dba交流了下,对于多源复制,还是有些东西要注意的(有说的不对的请指正):

1. 初次配置耗时较长,需要将各个“master”的数据dump下来,再source到“slave”上;

2. 需要考虑各“master”数据增长频率,“slave”的数据增长频率是这些的总和,如果太高,会导致大量的磁盘IO,造成数据更新延迟,最严重的是会影响正常的查询;

3. 如果多实例中存在同名的库,则同名库的表都会放到一个库中;

4. 如果同名库中的表名相同且结构相同,则数据会到一起;如果结构不同,则先建的有效。


以上~

欢迎用过这个特性的同学留言分享下经验~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值