在 Azure Stack Hub 中新增 MySQL 主控伺服器

重要

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

您可以使用 Azure Stack Hub 內 VM 上的 MySQL 主控伺服器執行個體,或 Azure Stack Hub 環境外 VM 上的執行個體,只要 MySQL 資源提供者能夠連線到該執行個體均可。

注意

MySQL 資源提供者應建立在預設提供者訂用帳戶中,而 MySQL 主控伺服器則應建立在可計費的使用者訂用帳戶中。 資源提供者伺服器不應該用來裝載使用者資料庫。

MySQL 5.6、5.7 和 8.0 版可用於您的主控伺服器。 MySQL RP 不支援 caching_sha2_password 驗證。 MySQL 8.0 伺服器必須設定為使用 mysql_native_password。

準備 MySQL 主控伺服器

建立網路安全性群組規則

預設並不會為 MySQL 設定進入主機 VM 的公用存取權。 若要讓 Azure Stack Hub MySQL 資源提供者連線及管理 MySQL 伺服器,必須建立輸入網路安全性群組 (NSG) 規則。

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

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

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

    在 [目的地連接埠範圍] 中 輸入3306,然後視需要在 [名稱] 和 [描述] 欄位中輸入描述。

    開啟

  3. 選取 [新增] 即可關閉輸入安全性規則對話方塊。

設定 MySQL 主控伺服器的外部存取

必須先啟用外部存取,才能將 MySQL 伺服器新增為 Azure Stack Hub MySQL 伺服器主機。 以 Azure Stack Hub Marketplace 中提供的 Bitnami MySQL 為例,您可以採取下列步驟來設定外部存取。

  1. 在使用 SSH 用戶端的情況下 (此範例使用 PuTTY),從可存取公用 IP 的電腦登入 MySQL 伺服器。

    請使用該公用 IP,並以使用者名稱和您先前所建立不含特殊字元的應用程式密碼登入 VM。

    LinuxLogin

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

    sudo service bitnami status

    檢查 bitnami 服務

  3. 如果 MySQL 主控伺服器是 8.0 版或更新版本,您必須將驗證方法變更為 mysql_native_password。 如果 MySQL 版本低於 8.0,則可以略過此步驟。

    以 Bitnami MySQL 為例,組態檔位於 /opt/bitnami/mysql/conf/my.cnf 下。 將屬性 default_authentication_plugin 設定為值 mysql_native_password

    [mysqld]
    default_authentication_plugin=mysql_native_password
    

    重新啟動 Bitnami 服務,並確定其可正常執行,但在啟動 Bitnami 服務之前,必須先刪除 ib_logfile0 檔案。

    sudo service bitnami stop
    sudo rm /bitnami/mysql/data/ib_logfile0
    sudo service bitnami start
    sudo service bitnami status
    
  4. 建立「Azure Stack Hub MySQL 主控伺服器」要用來連線至 MySQL 的遠端存取使用者帳戶。

    執行下列命令,使用根使用者身分和記錄在 ~/bitnami_credentials 中的根密碼登入 MySQL。 建立新的管理使用者,並根據您的環境需求取代 <username> 和 <password>。 在此範例中,已建立的使用者名稱為 sqlsa,並且使用強式密碼:

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

    建立系統管理員使用者

  5. 確定已建立的 sql 使用者 sqlsa 的外掛程式為 mysql_native_password,然後結束 SSH 用戶端。

    SELECT user,host,plugin from mysql.user;
    
  6. 記錄新的 MySQL 使用者資訊。

    當 Azure Stack Hub 操作員使用此 MySQL 伺服器建立 MySQL 主控伺服器時,將會使用此使用者名稱和密碼。

連線到 MySQL 主控伺服器

確定您擁有具備系統管理員權限之帳戶的認證。

注意

針對 MySQL 8.0 和更新版本,預設不會啟用遠端存取。 您必須先建立新的使用者帳戶,並將遠端存取權限授予此使用者帳戶,然後再將其新增為主控伺服器。

若要新增主控伺服器,請遵循下列步驟:

  1. 以服務管理員身分登入 Azure Stack Hub 管理員入口網站。

  2. 選取 [所有服務] 。

  3. 在 [管理資源] 類別下方,選取 [MySQL 主控伺服器]>[+新增]。 [新增 MySQL 主控伺服器] 對話方塊將會開啟,如下列螢幕擷取畫面所示。

    設定 MySQL 主控伺服器

  4. 提供 MySQL 伺服器執行個體的連線詳細資料。

    • 針對 [MySQL 主控伺服器名稱] ,提供完整網域名稱 (FQDN) 或有效的 IPv4 位址。 請勿使用簡短的 VM 名稱。
    • Azure Stack Hub Marketplace 中可用 Bitnami MySQL 映像的預設管理使用者名稱root
    • 如果您不知道根密碼,請參閱 Bitnami 文件以了解如何取得此密碼。
    • 由於未提供預設的 MySQL 執行個體,因此您必須指定主控伺服器的大小 (以 GB 為單位) 。 輸入的大小應該接近資料庫伺服器的容量。
    • 保留 [訂用帳戶] 的預設設定。
    • 針對 [資源群組] ,您可以建立新群組或使用現有的群組。

    重要

    請勿選擇部署期間由 MySQL 資源提供者安裝程式所建立的 [資源群組]system.<region>.sqladapter。 您必須提供不同的資源群組給主控伺服器。

    注意

    如果租用戶和管理 Azure Resource Manager 可以存取 MySQL 執行個體,您就可以讓資源提供者控制此執行個體。 但是,MySQL 執行個體「必須」 專門配置給資源提供者。

  5. 選取 [SKU] 以開啟 [建立 SKU] 對話方塊。

    建立 MySQL SKU

    SKU 的 [名稱] 應反映 SKU 屬性,以便使用者將其資料庫部署到適當的 SKU。

  6. 選取 [確定] 以建立 SKU。

    注意

    最多需要一小時才能在入口網站中看到 SKU。 您必須等到 SKU 部署完畢並開始執行之後,才能建立資料庫。

  7. 在 [新增 MySQL 主控伺服器] 下方,選取 [建立] 。

新增伺服器時,必須將它們指派給新的或現有的 SKU,以將服務供應項目差異化。 例如,您可以使用 MySQL 企業執行個體來提供增加的資料庫和自動備份。 您可以為組織中不同部門保留此高效能伺服器。

MySQL 的安全性考量

下列資訊適用於 RP 和 MySQL 主控伺服器:

增加後端資料庫容量

您可以藉由在 Azure Stack Hub 入口網站中部署更多 MySQL 伺服器,來增加後端資料庫的容量。 將這些伺服器新增到新的或現有的 SKU。 如果您將伺服器新增到現有的 SKU,請確保伺服器特性與 SKU 中的其他伺服器相同。

SKU 注意事項

使用可描述 SKU 中伺服器容量的 SKU 名稱,例如容量與效能。 名稱可作為輔助,來幫助使用者將其資料庫部署至適當的 SKU。 例如,您可以使用 SKU 名稱依下列特性區分服務供應項目:

  • 高容量
  • 高效能
  • 高可用性

最佳作法是,SKU 中的所有主控伺服器應具有相同的資源和效能特性。

無法對特定租用戶隱藏 SKU,亦無法專供特定租用戶使用。

若要編輯 SKU,請移至 [所有服務]>[MySQL 配接器]>[SKU]。 選取要修改的 SKU、進行任何必要的變更,然後按一下 [儲存] 以儲存變更。

若要刪除已不再需要的 SKU,請移至 [所有服務]>[MySQL 配接器]>[SKU]。 以滑鼠右鍵按一下 SKU 名稱,然後選取 [刪除] 將它刪除。

重要

最多可能需要一小時的時間,才能在使用者入口網站中提供新的 SKU。

讓您的使用者可使用 MySQL 資料庫伺服器

建立方案和供應項目,讓使用者使用 MySQL 資料庫伺服器。 將 Microsoft.MySqlAdapter 服務新增到方案,然後建立新配額。 MySQL 不允許限制資料庫的大小。

重要

最多可能需要兩小時的時間,才能在使用者入口網站中提供新的配額,或強制執行變更的配額。

注意

如果目前有任何方案正在使用配額,則無法刪除配額。 您必須先刪除參考配額的方案。

後續步驟

建立 MySQL 資料庫