2011-01-26 179 views
16

我有幾個位於不同位置的數據庫和位於數據中心的中央數據庫。全都具有相同的模式。所有這些數據都在每個位置用包括中央數據庫在內的不同數據進行更改(插入/更新/刪除)。將數據庫從多個位置同步到中央數據庫(反之亦然)的策略

我想同步中央數據庫中的所有數據。我還希望中央數據庫中的所有數據都同步到所有位置。我的意思是位置1的數據庫更改也應反映在位置2的數據庫中。

關於如何去做這件事的任何想法?

回答

7

請看SymmetricDS。它是一款支持多用戶和雙向同步的數據複製軟件。

+1

該鏈接不再可訪問。新的工作鏈接:http://www.symmetricds.org/ – jskidd3 2015-08-24 21:10:43

3

您將不得不在數據庫之間實施雙向複製方案。每個創建的新記錄都應該有一個唯一的標識符(例如GUID),以便來自不同數據庫的數據不會發生衝突。 (見mysql replication howto)。

MySql僅支持單向複製,因此您需要將每個數據庫設置爲主數據庫,並使每個數據庫都成爲所有其他數據庫實例的從服務器。祝你好運。

0

不幸的是,MySQL複製功能不會讓你做到你想要的。

通常,要同步兩臺服務器,可以使用主 - 主複製方案。請參閱http://www.howtoforge.com/mysql_master_master_replication

問題是,每個MySQL服務器只能有一個主服務器。

我知道讓多臺服務器同步的唯一方法,是一個圓形的複製(見http://onlamp.com/pub/a/onlamp/2006/04/20/advanced-mysql-replication.html?page=2),但不完全滿足您的需求(「星型」)

也許這配置可以足夠接近:所有「遠」(非中央)數據庫都只能是可讀的從站(通過基本的主 - 從複製進行同步),並且只能在中央服務器(它將成爲主站)上進行寫入。

2

我去SymmetricDS

我認爲這是一流的質量也只是提到我在sourceforge上找到(PHP的MySQL同步)

,發現互聯網上的許多鏈接。

相關問題