
我的任務是創建一個開發 mysql 實例,我們目前有一個 7 節點 Xtradb 集群,有什麼辦法可以讓這個節點晚幾個小時,或者不允許複製回集群的其餘部分?我希望它能夠從其他節點進行更新,但不允許複製回來。
我擔心有人丟掉一張桌子,或者做一些不那麼純粹的事情,導致集群崩潰。
任何想法將不勝感激!
答案1
只需讓您的開發伺服器使用正常複製進行連接,而不是加入叢集。標準複製是一種方法(除非您在兩側都進行了設定)。您的開發伺服器將從其所屬的主伺服器中提取二進位日誌。這就是開發實例和叢集之間發生的所有通訊。
我認為對於實際上屬於叢集一部分的節點來說,沒有一種簡單的方法可以做到這一點。叢集的重點是不讓資料不同步。
如果您打算透過複製延遲來完成此操作,請查看點從延遲如果您執行的是 5.5 或更低版本。如果你使用的是 5.6 那麼功能已經內建。
我這樣做的方式根本不涉及複製。你應該採取適當的備份(我是Percona Xtrabackup),然後您只需將該備份還原到您的開發實例即可。做你想做的事,然後再恢復。
透過複製來執行此操作會導致比您可能想要處理的錯誤更多的錯誤。如果有人在開發主機上刪除表,那麼下次主集群嘗試更新該檔案時,複製就會中斷。您必須手動重新啟動它(或運行為你做這件事的腳本)。