目錄
本章說明 MySQL 8.4 中的群組複製,以及如何安裝、設定和監控群組。MySQL 群組複製可讓您建立彈性、高可用性、容錯的複製拓撲。
群組可以在單主機模式下運作,並自動選出主機,其中一次只有一台伺服器接受更新。或者,群組也可以部署在多主機模式下,其中所有伺服器都可以接受更新,即使它們是同時發出的。
有一個內建的群組成員資格服務,可以保持群組檢視的一致性,並在任何給定時間為所有伺服器提供可用性。伺服器可以離開和加入群組,並且檢視會相應地更新。有時伺服器可能會意外離開群組,在這種情況下,故障偵測機制會偵測到這一點,並通知群組檢視已變更。這一切都是自動的。
群組複製可確保資料庫服務持續可用。但是,務必了解,如果其中一個群組成員無法使用,則必須將連線到該群組成員的用戶端重新導向,或故障轉移到群組中的其他伺服器,方法是使用連接器、負載平衡器、路由器或某種形式的中介軟體。群組複製沒有內建的方法來執行此操作。例如,請參閱 MySQL Router 8.4。
群組複製以 MySQL 伺服器的外掛程式形式提供。您可以依照本章中的指示,在您想要加入群組的每個伺服器執行個體上設定外掛程式、啟動群組,以及監控和管理群組。部署 MySQL 伺服器執行個體群組的另一種方法是使用 InnoDB 叢集。
若要部署多個 MySQL 執行個體,您可以使用 InnoDB 叢集,讓您可以輕鬆地在 MySQL Shell 中管理 MySQL 伺服器執行個體群組。InnoDB 叢集將 MySQL 群組複製封裝在程式化環境中,讓您可以輕鬆部署 MySQL 執行個體叢集以達到高可用性。此外,InnoDB 叢集與 MySQL Router 無縫連接,讓您的應用程式可以連線到叢集,而無需編寫自己的故障轉移程序。但是,對於不需要高可用性的類似使用案例,您可以使用 InnoDB ReplicaSet。MySQL Shell 的安裝說明可以在這裡找到。
本章的結構如下
第 20.1 節,「群組複製背景」介紹群組以及群組複製的運作方式。
第 20.2 節,「入門」說明如何設定多個 MySQL 伺服器執行個體來建立群組。
第 20.3 節,「需求與限制」說明群組複製的架構以及設定需求和限制。
第 20.4 節,「監控群組複製」說明如何監控群組。
第 20.5 節,「群組複製作業」說明如何使用群組。
第 20.6 節,「群組複製安全性」說明如何保護群組的安全。
第 20.7 節,「群組複製效能和疑難排解」說明如何微調群組的效能。
第 20.8 節,「升級群組複製」說明如何升級群組。
第 20.9 節「群組複製變數」 提供關於群組複製專用的系統變數的參考資訊。
第 20.10 節「常見問題」 提供有關部署和操作群組複製的一些技術問題解答。