我想从10台不同的机器上收集MySQL数据,并聚合到另一台机器上的一个大的MySQL数据库中。所有机器都是基于Linux的。
如果我想定期收集“增量”数据,那么"mysqldump“的语法是什么?
有没有其他方法可以做到这一点?
发布于 2011-09-05 03:28:58
MySQL本身并不支持这一点。您可以使用复制,但一个副本只能有一个主服务器,而不能有10个主服务器。我知道有两个可行的选择:
1)是编写一些脚本,以循环方式在主服务器之间切换副本。您可能希望参考http://code.google.com/p/mysql-mmre/或http://thenoyes.com/littlenoise/?p=117。
2)使用ETL工具。
如果您遇到困难,我们(Percona)可以帮助您。这是一个常见的请求,但不是一个简单的请求,因为每个案例都是不同的。
发布于 2011-09-02 15:13:19
mysqldump无法生成增量备份,因为它无法确定哪些行(或模式的哪些部分!)自上次备份以来发生了更改,甚至在上次备份时也发生了更改。为此,您需要一些能够读取INSERT/UPDATE/DELETE binlog并将其转换为一组MySQL语句的工具;我不知道有什么东西是这样存在的。
目前MySQL备份中的“最先进技术”通常被认为是Percona XtraBackup。
发布于 2011-09-02 18:00:30
多主从?将10个集合中的每一个都设置为Master,而aggregate作为所有10个集合的从属。这假设您正在聚合的数据在这10个集合中的每一个上都是不同的。如果所有10个集合中的数据都是相同的(或相似的),并且您想要对其进行交织和集成,那么这种方法将不起作用。
https://stackoverflow.com/questions/7280091
复制相似问题