共用方式為


建立高可用性 MySQL 資料庫

重要

從 Azure Stack Hub 組建 2108 開始,SQL 和 MySQL 資源提供者會提供給已授與存取權的訂用帳戶。 如果您想要開始使用這項功能,或如果您需要從舊版升級, 請開啟支援案例 ,我們的支援工程師會引導您完成部署或升級程式。

身為 Azure Stack Hub 操作員,您可以設定伺服器虛擬機 (VM) 來裝載 MySQL Server 資料庫。 成功建立和管理 Azure Stack Hub 的 MySQL 叢集之後,已訂閱 MySQL 服務的使用者可以輕鬆地建立高可用性 MySQL 資料庫。

本文說明如何使用 Azure Stack Marketplace 專案來建立具有復寫叢集MySQL。 此解決方案會使用多個 VM,將資料庫從控制平面節點複寫到可設定的複本數目。 建立之後,就可以將叢集新增為 Azure Stack Hub MySQL 主控伺服器,然後使用者可以建立高可用性 MySQL 資料庫。

重要

具有復寫 Azure Stack Marketplace 專案的 MySQL 可能無法用於所有 Azure 雲端訂用帳戶環境。 在嘗試遵循本教學課程的其餘部分之前,請先確認您的訂用帳戶中有市集專案可供使用。

您將學到什麼:

  • 從市集專案建立 MySQL Server 叢集。
  • 將 MySQL Server 叢集設定為 Azure Stack Hub MySQL 主控伺服器。
  • 建立高可用性 MySQL 資料庫。

將會使用可用的 Azure Stack Marketplace 專案來建立及設定三部 VM MySQL Server 叢集。

開始之前,請確定 已成功安裝 MySQL Server 資源提供者 ,並在 Azure Stack Marketplace 中提供下列專案:

重要

建立 MySQL 叢集需要下列所有專案。

  • 具有複寫的 MySQL:這是將用於 MySQL 叢集部署的 Bitnami 解決方案範本。
  • Debian 8 “Jessie”: Debian 8 “Jessie” 與由 credativ 提供的 azure Microsoft後港核心。 Debian GNU/Linux 是最受歡迎的 Linux 發行版之一。
  • Linux 2.0 的自定義腳本:自定義腳本擴充功能是執行 VM 布建後 VM 自定義工作的工具。 當此擴充功能新增至 VM 時,它可以從 Azure 記憶體下載腳本,並在 VM 上加以執行。 自定義腳本擴充功能工作也可以使用 Azure PowerShell Cmdlet 和 Azure 跨平臺命令行介面 (xPlat CLI) 來自動化。
  • 適用於Linux擴充功能的 VM 存取 1.4.7:VM 存取延伸模組可讓您重設密碼、SSH 金鑰或 SSH 設定,以便重新取得 VM 的存取權。 您也可以新增具有密碼或 SSH 金鑰的新使用者,或使用此延伸模組刪除使用者。 此擴充功能是以Linux VM為目標。

若要深入瞭解如何將專案新增至 Azure Stack Marketplace,請參閱 Azure Stack Marketplace 概觀

部署之後,您也需要 Ssh 用戶端,例如 PuTTY 來登入 Linux VM。

建立 MySQL Server 叢集

使用本節中的步驟,使用 MySQL 與復 寫市集專案來部署 MySQL 伺服器叢集。 此範本會部署在高可用性 MySQL 叢集中設定的三個 MySQL 伺服器實例。 根據預設,它會建立下列資源:

  • 虛擬網路
  • 網路安全組
  • 儲存體帳戶
  • 可用性設定組
  • 三個網路介面(每個預設 VM 各一個)
  • 公用IP位址(適用於主要 MySQL 叢集 VM)
  • 三部要裝載 MySQL 叢集的 Linux VM
  1. 登入使用者入口網站:

    • 針對整合式系統部署,入口網站位址會根據解決方案的區域和外部功能變數名稱而有所不同。 其形式為 https://portal.<region>.<FQDN>
    • 針對 Azure Stack 開發工具套件 (ASDK),入口網站位址為 https://portal.local.azurestack.external
  2. 如果尚未指派任何訂用帳戶,請從儀錶板選取 [取得訂用帳戶 ]。 在刀鋒視窗中,輸入訂用帳戶的名稱,然後選取供應專案。 建議您將 MySQL 叢集部署保留在自己的訂用帳戶中,以避免意外移除。

  3. 選取 [建立資源>計算],然後選取 + [具有複寫的 MySQL]。

    Azure Stack Hub 中的自定義範本部署

  4. 在 [ 基本] 頁面上提供基本部署資訊。 檢視預設值並視需要變更,然後選取 [ 確定]。

    至少提供下列資訊:

    • 部署名稱(預設值為 mymysql)。

    • 應用程式根密碼。 提供沒有特殊字元的 12 個字元英數字元密碼

    • 應用程式資料庫名稱(預設值為 bitnami)。

    • 要建立的 MySQL 資料庫複本 VM 數目(預設值為 2)。

    • 選取要使用的訂用帳戶。

    • 選取要使用的資源群組,或建立新的資源群組。

    • 選取位置 (在版本 2107 之前,預設為 ASDK 的本機位置)。

      部署基本概念 - 使用復寫建立 MySQL

  5. 在 [ 環境組態 ] 頁面上,提供下列資訊,然後選取 [ 確定]:

    • 用於安全殼層 (SSH) 驗證的密碼或 SSH 公鑰。 如果使用密碼,它必須包含字母、數位,而且 可以 包含特殊字元。

    • VM 大小(預設值為標準 D1 v2 VM)。

    • 以 GB 為單位的數據磁碟大小

      環境設定 -- 使用復寫建立 MySQL

  6. 檢閱部署 摘要。 您可以選擇下載自定義的範本和參數,然後選取 [ 確定]。

    摘要 -- 使用復寫建立 MySQL

  7. 選取 [購買] 頁面上的 [建立] 以開始部署。

    購買頁面 -- 使用復寫建立 MySQL

    注意

    部署大約需要一小時的時間。 請確定部署已完成,且 MySQL 叢集已完整設定,再繼續進行。

  8. 所有部署都成功完成之後,請檢閱資源群組專案,然後選取 mysqlip 公用 IP 位址專案。 記錄叢集公用IP的公用IP位址和完整的FQDN。

    您必須將此IP位址提供給 Azure Stack Hub 操作員,以便他們能夠利用此 MySQL 叢集建立 MySQL 主控伺服器。

建立網路安全性群組規則

根據預設,不會將 MySQL 的公用存取設定為主機 VM。 若要讓 Azure Stack Hub MySQL 資源提供者連線和管理 MySQL 叢集,必須建立輸入網路安全組 (NSG) 規則。

  1. 在系統管理員入口網站中,移至部署 MySQL 叢集時建立的資源群組,然後選取網路安全組 (default-subnet-sg):

    在 Azure Stack Hub 系統管理員入口網站中選取網路安全組

  2. 選取 [輸入安全性規則],然後選取 [新增]

    [目的地埠範圍] 中輸入 3306,並選擇性地在 [名稱] 和 [描述] 字段中提供描述。

    open

  3. 選取 [ 新增 ] 以關閉輸入安全性規則對話框。

設定 MySQL 叢集的外部存取

必須先啟用外部存取,才能將 MySQL 叢集新增為 Azure Stack Hub MySQL 伺服器主機。

  1. 使用 SSH 用戶端 (此範例使用 PuTTY) 從可存取公用 IP 的電腦登入主要 MySQL 計算機。 主要 MySQL VM 名稱通常會以 0 結尾,併為其指派公用 IP。

    使用公用IP,並使用 bitnami 的使用者名稱和您稍早建立的應用程式密碼來登入 VM,而不需要特殊字元。

    LinuxLogin

  2. 在 SSH 用戶端視窗中,使用下列命令來確保 bitnami 服務作用中且正在執行。 出現提示時,請再次提供 bitnami 密碼:

    sudo service bitnami status

    檢查 bitnami 服務

  3. 建立遠端存取使用者帳戶,供 Azure Stack Hub MySQL 主控伺服器用來連線到 MySQL,然後結束 SSH 用戶端。

    使用稍早建立的根密碼,執行下列命令以 root 身分登入 MySQL。 建立新的系統管理員使用者,並視您的環境需要取代<使用者>名稱和<密碼。> 在此範例中,建立的使用者名為 sqlsa ,並使用強密碼:

    mysql -u root -p
    create user <username>@'%' identified by '<password>';
    grant all privileges on *.* to <username>@'%' with grant option;
    flush privileges;
    

    建立系統管理員使用者

  4. 記錄新的 MySQL 用戶資訊。

    您必須將此使用者名稱和密碼,以及叢集公用IP的公用IP位址或完整的 FQDN 提供給 Azure Stack Hub 操作員,以便他們能夠使用此 MySQL 叢集建立 MySQL 主控伺服器。

設定 Azure Stack Hub MySQL 主控伺服器

建立並正確設定 MySQL Server 叢集之後,Azure Stack Hub 操作員必須將它新增為 Azure Stack Hub MySQL 主控伺服器。

請務必針對先前建立 MySQL 叢集資源群組時所記錄之 MySQL 叢集主要 VM 的公用 IP,使用公用 IP 或完整的 FQDN。 此外,操作員必須知道您建立的 MySQL 伺服器驗證認證,才能遠端訪問 MySQL 叢集資料庫。

注意

此步驟必須由 Azure Stack Hub 操作員從 Azure Stack Hub 系統管理員入口網站執行。

使用 MySQL 叢集的公用 IP 和 MySQL 驗證登入資訊,Azure Stack Hub 操作員現在 可以使用新的 MySQL 叢集來建立 MySQL 主控伺服器。

也請確定您已建立方案和供應專案,讓用戶能夠建立 MySQL 資料庫。 操作員必須將 Microsoft.MySqlAdapter 服務新增至方案,並特別針對高可用性資料庫建立新的配額。 如需建立方案的詳細資訊,請參閱 服務、方案、供應專案、訂用帳戶概觀

提示

在部署 MySQL Server 資源提供者之前,Microsoft.MySqlAdapter 服務將無法新增至計劃。

建立高可用性 MySQL 資料庫

建立和設定 MySQL 叢集,並由 Azure Stack Hub 操作員新增為 Azure Stack Hub MySQL 主控伺服器之後,具有包含 MySQL Server 資料庫功能的租用戶使用者可以遵循本節中的步驟來建立高可用性 MySQL 資料庫。

注意

以租用戶使用者身分從 Azure Stack Hub 使用者入口網站執行這些步驟,並提供 MySQL Server 功能(Microsoft.MySQLAdapter 服務)。

  1. 登入使用者入口網站:

    • 針對整合式系統部署,入口網站位址會根據解決方案的區域和外部功能變數名稱而有所不同。 其形式為 https://portal.<region>.<FQDN>
    • 針對 Azure Stack 開發工具套件 (ASDK),入口網站位址為 https://portal.local.azurestack.external
  2. 選取 [建立資源>數據 + 記憶體],然後選取 + [我的 SQL 資料庫]。

    提供必要的資料庫屬性資訊,包括名稱、定序、要使用的訂用帳戶,以及要用於部署的位置。

    在 Azure Stack Hub 使用者入口網站中建立 MySQL 資料庫

  3. 選取 [SKU ],然後選擇要使用的適當 MySQL 主控伺服器 SKU。 在此範例中,Azure Stack Hub 操作員已建立 MySQL-HA SKU 以支援 MySQL 叢集資料庫的高可用性。

    在 Azure Stack Hub 使用者入口網站中選取 SKU

  4. 選取 [登入>建立新的登入],然後提供要用於新資料庫的 MySQL 驗證認證。 完成後,請選取 [確定],然後選取 [建立] 以開始資料庫部署程式。

    在 Azure Stack Hub 使用者入口網站中新增登入

  5. 當 MySQL 資料庫部署順利完成時,請檢閱資料庫屬性,以探索要用於連線到新高可用性資料庫的 連接字串。

    在 Azure Stack Hub 使用者入口網站中檢視 連接字串

下一步

更新 MySQL 資源提供者