我在主数据库中有一个表,我想复制到一个从服务器上的多个数据库。像这样:
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 :(得分:0)
来自docs
要指定多次重写,请多次使用此选项。服务器使用第一个匹配的from_name值。
这表明它不会起作用,因为它只会考虑你的两个replicate-rewrite-db选项中的第一个(这是你所看到的行为)。
答案 1 :(得分:0)
我知道实现此目的的唯一方法是在从属服务器上运行多个mysqld实例,然后为每个实例设置一个replicate-rewrite-db。
http://dev.mysql.com/doc/refman/5.0/en/multiple-servers.html