我在主人和奴隶上都有相同的表格。两者都有许多列,其中price
。是否有可能在slave中设置price
列的单个值,以便复制不会覆盖它们?
我们的系统适用于许多具有单独价格的国家,但我们也希望从中央数据库分享一些常用数据。
我虽然提出了一些解决方案:
还有更好的东西吗?我将不胜感激任何帮助。
答案 0 :(得分:0)
我真的不认为复制是为了像你要问的那样进行“几乎复制”。我不认为你只能复制一部分表格。
你的第一个解决方案对我来说听起来最合理。
总的来说,我想出了一个软件解决方案,它不需要复制,也可以复制所有表。然后在生产中添加复制以添加冗余或性能。其他任何事情听起来都很难开发和测试。
(我:我不是MySQL的专家,虽然我已经设置了几次MySQL复制。)
答案 1 :(得分:0)
Percona Server 5.1中有一个slave-skip-columns补丁。你可能想看看。
答案 2 :(得分:0)
这是一个老问题,但在Google首先出现,所以我认为这是相关且有用的:https://dev.mysql.com/doc/refman/5.5/en/replication-features-differing-tables.html
简而言之,如果表中的公共列(主服务器和从服务器上的公共列)具有相同的类型且顺序相同,则即使主服务器或从服务器末端有额外的列,复制也会起作用。对于不匹配的数据类型,有一些规则。