多表的MySQL数据库复制

时间:2009-12-21 08:40:59

标签: mysql replication

以前,我有以下数据库复制的经验。

(1)我在Machine A的1个数据库中有2个表

(2)我更新了机器A中的2个表

(3)机器A将​​2个表复制到机器B.机器B也将在1个数据库中包含2个表。

现在,我想完成以下任务:

(1)我在机器A的1个数据库中有表A.

(2)我在B机器的1个数据库中有表B.

(3)我想将表A和表B复制到机器C.

(4)机器C将在一个数据库中具有表A和表B.

是否可以通过数据库复制来完成这项工作?

2 个答案:

答案 0 :(得分:1)

不幸的是,每个mysql服务器只能拥有Master。因此,例如,您可以在机器C上的不同端口上运行两个独立的mysql实例,这些端口分别来自机器A和机器B,但不能同时来自两个服务器。

根据您的情况,这样做可能会让您足够接近一些其他复制技术(比如定期使用mysqldump来复制机器C上的一个表)。它只取决于你对奴隶的需求(表格有多大(即通过非奴隶方法复制的速度有多快),过时是否可以接受,你真的需要它们在一个数据库中还是一个服务器足够好,等等。)

经过一番思考,有一种类型的多主复制是可能的,如果您只想在一个数据库中存储数据并且不需要机器C,则可能满足您的需求。在这种情况下,您实际上可以其中一个服务器是表A的主服务器和表B的服务器,而另一个服务器是表B的主服务器(如果需要,表A的服务器为Slave)。看起来很体面explanation

答案 1 :(得分:0)

除非您使用群集,否则不可能实现多主复制,那么我认为您不能使用您所谈论的示例,除非这两个表实际上是相同的数据而只是单独的分区。