2012-04-17 44 views
1

我有一个主数据库中的表,我想复制到一个从属服务器上的多个数据库。像这样:试图将表复制到从属服务器上的多个数据库

masterDB.tableA -> slaveDB1.tableA 
masterDB.tableA -> slaveDB2.tableA 

slaveDB1和slaveDB2在同一个从属服务器上。这可能吗?

我能得到slaveDB1的复制工作没有问题,但它是因为它它忽略了命令在my.cnf中为slaveDB2:

replicate-rewrite-db="masterDB->slaveDB1" 
replicate-rewrite-db="masterDB->slaveDB2" 

replicate-wild-do-table=slaveDB1.tableA% 
replicate-wild-do-table=slaveDB2.tableA% 

我缺少的东西,或者这只是不能与复制来完成?

回答

0

docs

要指定多个重写,使用此选项多次。服务器使用第一个匹配的from_name值。

这表明它不会工作,因为它只会考虑到您的两个replicate-rewrite-db选项中的第一个(这是您所看到的行为)。

+0

我也看到了,那是我卡住的地方。谢谢 - 我认为你和@Aknosis都是对的。第二个奴隶实例或半身像! – 2012-04-17 22:06:51

+0

@ jason_mc99我很想知道你为什么要看这种设置。也许有更好的解决方案,我们可以建议?此外,您需要确保您接受答案并进行投票。也许如果两个答案同样对你有帮助,你可以接受一个,然后投票给另一个! – liquorvicar 2012-04-18 08:38:43

+0

谢谢!我无法赞成,因为我显然没有代表,但我会接受一个答案! 我想要做的是将主要静态信息的主数据库推送到特定于组织中多家公司的数据库。理想情况下,我只需对“主数据库”进行更改,然后将其显示在每个公司的个人数据库中。数据基本上是静态的,所以级联删除和孤立记录不是问题。 (我们试图这样做的原因是为了减少对外部数据库中外键的依赖,以使我们的MVC代码更简单。) – 2012-04-18 17:16:31

相关问题