在 Azure Stack Hub 中新增 MySQL 主控伺服器
重要
從 Azure Stack Hub 組建 2108 開始,SQL 和 MySQL 資源提供者會提供給已授與存取權的訂用帳戶。 如果您想要開始使用這項功能,或如果您需要從舊版升級, 請開啟支援案例 ,我們的支援工程師會引導您完成部署或升級程式。
只要 MySQL 資源提供者可以連線到實例,您就可以在 Azure Stack Hub 環境中的虛擬機(VM)或 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) 規則。
在系統管理員入口網站中,移至部署 MySQL 伺服器時建立的資源群組,然後選取網路安全組 (default-subnet-sg):
選取 [輸入安全性規則],然後選取 [新增]。
在 [目的地埠範圍] 中輸入 3306,並選擇性地在 [名稱] 和 [描述] 字段中提供描述。
選取 [ 新增 ] 以關閉輸入安全性規則對話框。
設定 MySQL 主控伺服器的外部存取
必須先啟用外部存取,才能將 MySQL 伺服器新增為 Azure Stack Hub MySQL 伺服器主機。 以 Azure Stack Hub 市集中提供的 Bitnami MySQL 為例,您可以採取下列步驟來設定外部存取。
使用 SSH 用戶端 (此範例使用 PuTTY) 從可存取公用 IP 的電腦登入 MySQL 伺服器。
使用公用IP,並使用您稍早建立的使用者名稱和應用程式密碼登入VM,而不需要特殊字元。
在 SSH 用戶端視窗中,使用下列命令來確保 bitnami 服務作用中且正在執行。 出現提示時,請再次提供 bitnami 密碼:
sudo service bitnami status
如果 MySQL 主控伺服器是 8.0 版或更新版本,您必須將驗證方法變更為 mysql_native_password。 如果 MySQL 版本低於 8.0,則可以略過此步驟。
以 Bitnami MySQL 為例,組態檔位於 /opt/bitnami/mysql/conf/my.cnf 之下。 使用值mysql_native_password設定屬性default_authentication_plugin。
[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
建立 Azure Stack Hub MySQL 主控伺服器用來連線到 MySQL 的遠端存取使用者帳戶。
使用 ~/bitnami_credentials 中記錄的根密碼,執行下列命令以 root 身分登入 MySQL。 建立新的系統管理員使用者,並視您的環境需要取代<使用者>名稱和<密碼。> 在此範例中,建立的使用者名為 sqlsa ,並使用強密碼:
mysql -u root -p create user <username>@'%' identified by '<password>'; grant all privileges on *.* to <username>@'%' with grant option; flush privileges;
請確定所建立 sql 使用者 sqlsa 的外掛程式已 mysql_native_password ,然後結束 SSH 用戶端。
SELECT user,host,plugin from mysql.user;
記錄新的 MySQL 用戶資訊。
當 Azure Stack Hub 操作員使用此 MySQL 伺服器建立 MySQL 主控伺服器時,將會使用此使用者名稱和密碼。
線上到 MySQL 主控伺服器
請確定您有具有系統管理員許可權之帳戶的認證。
注意
針對 MySQL 8.0 和更新版本,預設不會啟用遠端訪問。 您必須建立新的用戶帳戶,並授與此用戶帳戶的遠端訪問許可權,再將它新增為主控伺服器。
若要新增主控伺服器,請遵循下列步驟:
以服務管理員身分登入 Azure Stack Hub 系統管理員入口網站。
選取 [所有服務]。
在 [系統管理資源] 類別下,選取 [MySQL 主控伺服器>+新增]。 [ 新增 MySQL 主控伺服器 ] 對話框隨即開啟,如下列螢幕快照所示。
提供 MySQL Server 實例的連線詳細數據。
- 針對 MySQL 主控伺服器名稱,請提供完整功能變數名稱 (FQDN) 或有效的 IPv4 位址。 請勿使用簡短的 VM 名稱。
- Azure Stack Hub Marketplace 中可用 Bitnami MySQL 映射的預設管理員使用者名稱為 root。
- 如果您不知道根 密碼,請參閱 Bitnami 檔 以瞭解如何取得它。
- 未提供預設 MySQL 實例,因此您必須以 GB 指定主控伺服器的大小。 輸入接近資料庫伺服器容量的大小。
- 保留 [訂用 帳戶] 的預設設定。
- 針對 [資源群組],建立新的群組,或使用現有的群組。
重要
請勿選擇部署期間由 MySQL 資源提供者安裝程式建立的資源群組
system.<region>.sqladapter
。 您必須為主控伺服器提供不同的資源群組。注意
如果租使用者和管理員 Azure Resource Manager 可以存取 MySQL 實例,您可以將它置於資源提供者的控制之下。 但是,MySQL 實例 必須 只配置給資源提供者。
選取 [SKU ] 以開啟 [ 建立 SKU ] 對話框。
SKU 名稱 應該反映 SKU 的屬性,讓使用者可以將資料庫部署至適當的 SKU。
選取 [ 確定 ] 以建立 SKU。
注意
SKU 最多可能需要一小時才會顯示在入口網站中。 在部署和執行 SKU 之前,您無法建立資料庫。
在 [新增 MySQL 主控伺服器] 底下,選取 [建立]。
當您新增伺服器時,請將它們指派給新的或現有的SKU,以區分服務供應專案。 例如,您可以有提供增加資料庫和自動備份的 MySQL 企業實例。 您可以為組織中的不同部門保留此高效能伺服器。
MySQL 的安全性考慮
下列資訊適用於 RP 和 MySQL 主控伺服器:
- 確定所有主控伺服器都已設定為使用 TLS 1.1 進行通訊。 請參閱 設定 MySQL 以使用加密連線。
- 採用 透明資料加密。
- MySQL RP 不支援caching_sha2_password驗證。
增加後端資料庫容量
您可以在 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 不允許限制資料庫的大小。
重要
在使用者入口網站中或強制執行變更配額之前,最多可能需要兩個小時才能使用新的配額。
注意
如果有使用配額的目前方案,您就無法刪除配額。 您必須先刪除參考配額的計劃。