本章介紹 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 一樣緊密整合。
基於 MySQL 複寫,InnoDB ReplicaSet 有一個單一的主要執行個體,該執行個體會複寫到一個或多個次要執行個體。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取得。