本章介紹 MySQL InnoDB ReplicaSet,它結合了 MySQL 技術,讓您能夠部署和管理第 19 章,複寫。此內容是 InnoDB ReplicaSet 的高階概述,如需完整文件,請參閱MySQL InnoDB ReplicaSet。
InnoDB ReplicaSet 至少由兩個 MySQL 伺服器實例組成,它提供您所熟悉的 MySQL 複寫功能,例如讀取擴展和資料安全性。InnoDB ReplicaSet 使用以下 MySQL 技術
MySQL Shell,這是適用於 MySQL 的進階用戶端和程式碼編輯器。
MySQL 伺服器和第 19 章,複寫,它讓一組 MySQL 實例能夠提供可用性和非同步讀取擴展。InnoDB ReplicaSet 提供一種替代且易於使用的程式化方式來處理複寫。
MySQL Router,這是一個輕量級的中介軟體,可在您的應用程式和 InnoDB ReplicaSet 之間提供透明的路由。
InnoDB ReplicaSet 的介面與MySQL InnoDB Cluster類似,您可以使用 MySQL Shell 將 MySQL 伺服器實例作為 ReplicaSet 來使用,而且 MySQL Router 也像 InnoDB Cluster 一樣緊密整合。
InnoDB ReplicaSet 基於 MySQL 複寫,因此具有單一主要伺服器,該伺服器會複寫到一或多個次要實例。InnoDB ReplicaSet 不提供 InnoDB Cluster 提供的所有功能,例如自動容錯移轉或多主要模式。但是,它確實支援以類似方式設定、新增和移除實例等功能。例如,在發生故障時,您可以手動切換或容錯移轉至次要實例。您甚至可以採用現有的複寫部署,然後將其作為 InnoDB ReplicaSet 來管理。
您可以使用AdminAPI(作為 MySQL Shell 的一部分提供)來處理 InnoDB ReplicaSet。AdminAPI 提供 JavaScript 和 Python 版本,非常適合編寫腳本和自動化 MySQL 部署,以實現高可用性和可擴展性。透過使用 MySQL Shell 的 AdminAPI,您可以避免手動設定許多實例的需求。相反地,AdminAPI 為 MySQL 實例集提供一個有效且現代化的介面,讓您能夠從一個中央工具佈建、管理和監控您的部署。
若要開始使用 InnoDB ReplicaSet,您需要下載和安裝 MySQL Shell。您需要一些已安裝 MySQL 伺服器實例的主機,您也可以安裝 MySQL Router。
InnoDB ReplicaSet 支援MySQL Clone,讓您可以輕鬆佈建實例。在過去,若要在新實例加入 MySQL 複寫部署之前佈建該實例,您需要以某種方式手動將交易傳輸至加入的實例。這可能涉及建立檔案副本、手動複製它們等等。您只需將實例新增至複本集,它就會自動佈建。
同樣地,InnoDB ReplicaSet 與MySQL Router緊密整合,您可以使用 AdminAPI 來一起使用它們。MySQL Router 可以根據 InnoDB ReplicaSet 自動設定,這個過程稱為引導,這免除了您手動設定路由的需求。然後,MySQL Router 會以透明的方式將用戶端應用程式連線到 InnoDB ReplicaSet,為用戶端連線提供路由和負載平衡。此整合也讓您能夠使用 AdminAPI 管理針對 InnoDB ReplicaSet 引導的 MySQL Router 的某些方面。InnoDB ReplicaSet 狀態資訊包含針對 ReplicaSet 引導的 MySQL Router 的詳細資料。運作方式讓您可以在 ReplicaSet 層級建立 MySQL Router 使用者,以便使用針對 ReplicaSet 引導的 MySQL Router 等等。
如需有關這些技術的詳細資訊,請參閱說明中連結的使用者文件。除了本使用者文件外,MySQL Shell JavaScript API 參考或 MySQL Shell Python API 參考中提供了所有 AdminAPI 方法的開發人員文件,可從連接器和 API取得。