MySQL 5.5 複製到 Galera/Percona XtraDB 集群
我們目前正在研究將我們目前的
MySQL
5.5 Master > 5 x Slaves(具有基於語句的複制,apx 250GB 數據並不斷增長)移動到 HA 集群選項。主要是為了提供更大的彈性、寫入擴展性以及更容易執行諸如優化表之類的管理工作,而無需使主伺服器離線。我們已經(暫時)排除了
MySQL
ndb Cluster,因為它需要對我們目前的數據庫結構進行太多更改(大量 BLOB 欄位以及其他問題)。因此,我們正在將 Galera Cluster 或 Percona Cluster 視為替代方案,因為它們似乎可以做我們想做的事情,而沒有“太”陡峭的學習曲線。
我們希望首先將集群設置為主主系統的從屬(用於測試等),然後再將集群作為我們的主系統。這可能嗎?通讀文件似乎並沒有真正談論這方面的事情(除非我錯過了)。
是的,很有可能。
正如文件所說,Percona XtraDB 集群中至少應該有三個節點。您只需要三個節點中的一個節點。
確保 PXC 中的所有節點都具有唯一的 server_id。
確保您從中複製的 Master 具有來自 PXC 節點的唯一 server_id
確保主節點和每個 PXC 節點都配置了以下內容
確保主節點和每個 PXC 節點都使用binlog_format=ROW
選擇一個節點並將其設置為通過 指定為從站的數據庫伺服器
CHANGE MASTER TO
。如果您要設置任何復製過濾器,請將其限制為僅作為您的 Slave 的 PXC 節點。就個人而言,我不會在此設置中完全使用複製過濾器,因為 Percona 的 Galera 講師之一對此並不滿意。
請注意,數據在同一時刻出現在所有節點上需要時間(請參閱Investigating MySQL Replication Latency in Percona XtraDB Cluster)
順便說一句,您也可以將任何 PXC 用作 StandAlone Slaves 的 Master
Jun 07, 2013
: Percona XtraDB 集群和 MySQL 複製Jan 29, 2014
:從 Percona XtraDB Cluster 到標準獨立從站的本地複制Nov 24, 2014
:為 percona Xtra DB Cluster 設置災難恢復設置的最佳方法是什麼?抬頭#1
不要對充當 MySQL 從屬的 PXC 節點中的複制滯後感到驚訝。畢竟,三個節點必須寫入數據並最終保持一致,然後才能一起送出所有更改。有關更多資訊,請參閱遷移到 Percona XtraDB Cluster for MySQL 時遵循這些基礎知識。
抬頭#2
由於您使用的是 MySQL 5.5,因此不要使用 PXC 5.6。使用 PXC 5.5。為什麼 ?MySQL 5.5 中基於行的 binlogging 有時不能被 MySQL 5.6 mysqld 程序正確解釋。這可能會中斷從 MySQL 5.5 到 MySQL 5.6 的複制。兩個月前我寫了一篇關於這個的文章。解決方法是切換到binlog_format=STATEMENT,但您不能對 Percona XtraDB Cluster 執行此操作,因為它需要binlog_format=ROW。