将MySQL数据从机器传输到机器

时间:2011-09-02 06:51:31

标签: mysql

我想从10台不同的机器收集MySQL数据,并在不同的机器上聚合成一个大的MySQL数据库。所有机器都是基于Linux的。

如果我想定期执行此操作以仅收集“delta”数据,那么“mysqldump”语法是什么?

还有其他方法可以达到这个目的吗?

3 个答案:

答案 0 :(得分:1)

MySQL本身不支持此功能。您可以使用复制,但副本只能有一个主服务器,而不能只有10个主服务器。我知道有两个可行的选择:

1)是编写一些内容,以循环方式在主服务器之间切换副本。您可以参考http://code.google.com/p/mysql-mmre/http://thenoyes.com/littlenoise/?p=117

2)是使用ETL工具。

如果您遇到困难,我们(Percona)可以帮助您。这是一个常见的请求,但并不容易,因为每个案例都不同。

答案 1 :(得分:0)

mysqldump无法生成增量备份,因为它没有任何方法可以确定自上次备份以来哪些行(或架构的哪些部分!)已更改,或者甚至是上次备份时是。为此,您需要能够读取MySQL binlog并将其转换为一堆INSERT / UPDATE / DELETE语句的内容;我不知道那些存在的东西。

MySQL备份中当前的“最新技术”通常被认为是Percona XtraBackup

答案 2 :(得分:0)

多个主奴隶?让10中的每一个都作为主人,并且聚合成为所有10的奴隶。这假设您聚合的数据在每个10上是不同的。如果数据在所有10上是相同的(或类似的)并且您想要交错并整合它然后这将无法工作。