Mysql

使用地理分佈式伺服器的 Mysql 數據庫複製

  • December 4, 2017

我只是一個開發人員,對 DBA 沒有深入的了解。所以在此需要專家的建議。我在兩個城市有兩個離線數據庫,我想使用第三個數據庫在兩個數據庫之間進行同步,該數據庫將在實時伺服器中始終線上。

我的問題是這樣的, 位置 A數據庫在紐約。 位置 B數據庫位於加拿大。而且它們在本地機器上,所以它們之間沒有聯繫。現在我需要顯示位置 A位置 B位置 B位置 A 的變化。是的,這可以通過 MASTER-MASTER 複製來解決。我還找到了一種解決自動增量索引問題的方法,方法是在不同的伺服器中分離索引號。

但是我需要另一個實時伺服器 C,其中Location ALocation B的變化將反映出來。因此,一些使用者無需訪問位置 A 或位置 B 即可查看更改。我也不想使用 RING 複製。因為如果一個人倒下,那麼 RING 的其餘部分就會被打破。

在夏天,我想像這樣進行複制

在此處輸入圖像描述

需要有關複製過程的幫助。

提前致謝,

尼克松

一種可行的解決方案是一個 Galera 集群,其中一個節點處於只讀模式。(有關地理分佈式 Galera 集群的資訊,請參見此處。) Galera 集群是(虛擬)同步多主機解決方案。MariaDBPercona提供了這項技術,Galera 自己也提供了這種技術。有一個問題:由於您將寫入多個節點,因此出現死鎖/認證失敗的可能性更高,包括送出時。(有關解釋,請參閱這篇文章。)但是,如果您在開發應用程序時小心,這是您的應用程序可以處理的事情。

在決定採用此技術之前,請務必查看Galera 集群限制。一些最顯著的要求是: Linux 作業系統,它僅支持 InnoDB 儲存引擎,並且所有表必須具有顯式主鍵。

MySQL Group Replication是一種類似的技術,但這不適合您的案例中的地理分佈式數據庫節點。

引用自:https://dba.stackexchange.com/questions/192064