【发布时间】:2016-10-31 18:45:00
【问题描述】:
我一直很难弄清楚如何在 MySQL 中配置分布式数据库系统。我有 3 台服务器,每台都有相同的数据库模型。我已经将它们配置为使用复制 - 所以有 1 个主控和 2 个从属。一切正常,但我接下来要做的是“过滤”复制数据。
假设我有两张表:customers 和 products。我想将产品表的所有内容复制到两个奴隶(我得到了这部分),但我想将客户从欧洲复制到 Slave1,从亚洲复制到 Slave2。所以 master 将包含有关客户的所有信息,但 slave 只包含其中的一部分。我怎样才能做到这一点?
据我所知,复制本身不支持这种过滤。我不确定,但似乎分区也不是一个答案。
MySQL 中是否有任何内置机制可以提供帮助?如果没有,您将如何解决这种情况?
【问题讨论】:
-
如何解决它(或者是否有其他选项)取决于您的设置,尤其是您的要求,因此您这样做的原因/您想通过这样做来实现什么。例如:您是否可以仅将数据隐藏在不同的奴隶上,还是出于隐私/节省带宽/优化的原因而这样做?您是否使用基于语句或行的复制?你的奴隶是只读的吗(所以改变不会回到主人那里)?
标签: mysql replication