下載本手冊

MySQL Shell 9.0  /  MySQL InnoDB 叢集

第 7 章 MySQL InnoDB 叢集

MySQL InnoDB 叢集為 MySQL 提供完整的高可用性解決方案。透過使用 AdminAPI(包含在 MySQL Shell 中),您可以輕鬆設定和管理至少三個 MySQL 伺服器執行個體來作為 InnoDB 叢集運作。

InnoDB 叢集中的每個 MySQL 伺服器執行個體都會執行 MySQL 群組複寫,此機制提供在 InnoDB 叢集中複寫資料的功能,並具有內建的容錯移轉。AdminAPI 可讓您不必在 InnoDB 叢集中直接使用群組複寫,如需詳細資訊,請參閱群組複寫,其中說明了詳細資訊。您也可以設定 InnoDB ClusterSet (請參閱第 8 章,MySQL InnoDB ClusterSet) 以透過將主要 InnoDB 叢集與一個或多個位於其他位置(例如不同資料中心)的自身複本連結,為 InnoDB 叢集部署提供災難容錯。

MySQL Router 可以根據您部署的叢集自動設定自身,將用戶端應用程式透明地連線至伺服器執行個體。如果伺服器執行個體發生意外故障,叢集會自動重新設定。在預設的單一主要模式中,InnoDB 叢集會有一個單一的讀寫伺服器執行個體,也就是主要伺服器。多個次要伺服器執行個體是主要伺服器的複本。如果主要伺服器失敗,次要伺服器會自動升級為主要伺服器的角色。MySQL Router 會偵測到此情況,並將用戶端應用程式轉送到新的主要伺服器。進階使用者也可以設定叢集以擁有多個主要伺服器。

下圖顯示了這些技術如何協同運作的概觀

圖 7.1 InnoDB 叢集概觀

Three MySQL servers are grouped together as a high availability cluster. One of the servers is the read/write primary instance, and the other two are read-only secondary instances. Group Replication is used to replicate data from the primary instance to the secondary instances. MySQL Router connects client applications (in this example, a MySQL Connector) to the primary instance.

重要事項

InnoDB 叢集不支援 MySQL NDB 叢集。NDB 叢集依賴 NDB 儲存引擎,以及許多 NDB 叢集專用的程式,這些程式未與 MySQL Server 9.0 一起提供;NDB 僅作為 MySQL NDB 叢集發佈的一部分提供。此外,MySQL Server 9.0 隨附的 MySQL 伺服器二進位檔 (mysqld) 無法與 NDB 叢集搭配使用。如需有關 MySQL NDB 叢集的詳細資訊,請參閱 MySQL NDB 叢集 9.0使用 InnoDB 的 MySQL Server 與 NDB 叢集的比較提供有關 InnoDBNDB 儲存引擎之間差異的資訊。