2011-09-02 45 views
1

我想從10個不同的機器收集MySQL數據並將其聚合到另一臺機器上的一個大型MySQL數據庫中。所有機器都是基於Linux的。從機器X傳輸MySQL數據到機器Y

如果我想週期性地收集「delta」數據,那麼「mysqldump」語法是什麼?

還有其他方法可以實現嗎?

+0

爲什麼不使用複製呢? –

回答

0

mysqldump無法生成增量式備份,因爲它沒有任何方式可以確定哪些行(或架構的哪些部分!)自上次備份以來,或甚至最後一次備份時發生了更改。爲此,你需要一些可以讀取MySQL binlog的東西,並將它轉換成一堆語句;我不知道任何存在的東西。

MySQL備份中當前的「先進技術」通常被認爲是Percona XtraBackup

+0

你可以使用GNU diff/patch來完成它們。 – brandon

0

Multiple Master Slave?將10箇中的每一個都作爲主人,並將一個奴隸集合到所有10個人。這假定您正在聚合的數據在每個10上都是不同的。如果所有10上的數據相同(或相似),並且您想要交錯它以及整合它,那麼這是行不通的。

1

這不是MySQL本機支持的。您可以使用複製,但複製副本只能有一個主節點,而不能有10個主節點。我知道兩個可行的選項:

1)是編寫腳本,以循環方式切換主站之間的副本。您可能希望參考http://code.google.com/p/mysql-mmre/http://thenoyes.com/littlenoise/?p=117。 2)是使用ETL工具。

如果您遇到困難,我們(Percona)可以爲您提供幫助。這是一個普遍的要求,但並不容易,因爲每個案件都不一樣。

相關問題