如何部署和連線至適用於 MySQL 的 Azure 資料庫
對適用於 MySQL 的 Azure 資料庫 - 彈性伺服器功能有一般了解,可協助您識別 Web 型應用程式開發、測試和生產環境的最佳部署設定。 應該在設計階段就做好關鍵決策,例如選取目標 Azure 區域、區域備援高可用性,以及備份備援。 其他決策 (例如配置計算和儲存體資源) 則由會隨時間改變的使用模式來決定。
本課程模組先前的單元應該已協助您完成設計和規劃階段。 現在,讓我們將重點放在當您準備好在自己的解決方案中實作適用於 MySQL 的 Azure 資料庫彈性伺服器時,該如何進行部署及連線。
了解各種組態設定之間的依存關係是在部署期間做出正確選擇的關鍵。 具體來說,請務必注意:
- 針對已啟用高可用性的伺服器,不支援停用儲存體自動成長功能。
- 可高載階層不支援高可用性,不過您可以將伺服器部署到特定可用性區域。
如何部署適用於 MySQL 的 Azure 資料庫彈性伺服器
您可以使用數種不同的方法來佈建適用於 MySQL 的 Azure 資料庫彈性伺服器。 雖然您可以使用完全自動化的部署,但是最簡單直接的部署方法是透過 Azure 入口網站這個圖形化使用者介面 (GUI) 來建立執行個體。 當您透過入口網站建立執行個體時,您可以設定一系列伺服器設定,這些設定可分成五個群組:基本資料、計算和儲存體、網路、安全性和標籤。 每個群組及其對應的設定選項會顯示在頁面上:
[基本資料] 頁面包含可用來設定以下項目的設定:
專案詳細資料:目標訂用帳戶和資源群組的名稱。
伺服器詳細資料:
- 伺服器的名稱
- 目標 Azure 區域
- MySQL 版本和計算層
- 可用性區域編號
驗證方法。 選取 MySQL 驗證、Microsoft Entra ID 驗證,或兩種方法的混合。
注意
視您選取的計算大小和區域而定,在此步驟執行期間可能無法選取可用性區域。
您透過 [設定伺服器] 連結從 [基本資料] 頁面存取的 [計算 + 儲存體] 頁面包含可用來設定以下項目的設定:
計算。 計算層和計算大小選項。
儲存空間。 儲存大小 (以 GiB 為單位)、IOPS (或自動縮放) 的數目,以及 [儲存體自動成長] 選項。
高可用性。 高可用性模式 (相同區域或區域備援)。
備份。 備份保留期間和備份異地備援選項。
[網路] 頁面可讓您指定連線方法。 根據您的選擇,您也可以允許來自任何 Azure 服務的公用存取、設定防火牆規則、設定虛擬網路整合,或建立私人端點。
[安全性] 頁面包含設定資料加密以加密資料庫、備份和待用記錄,而不需要對應用程式進行任何變更的選項,以及預設所設定的儲存體加密。
[標籤] 頁面會新增索引鍵值組,可定義已部署資源的中繼資料。
如何連線到適用於 MySQL 的 Azure 資料庫彈性伺服器
在連線到彈性伺服器之前,請考慮您在部署期間所實作的網路設定。 例如,如果您的彈性伺服器設定了公用存取,而您決定從 Azure Cloud Shell 或其他無法直接存取網路的用戶端應用程式連線到資料庫,則請啟用伺服器防火牆的 [允許從 Azure 內的任何 Azure 服務對此伺服器進行公用存取] 選項。 從內部部署應用程式伺服器或網際網路連線的裝置進行連線時,請將連線裝置或服務的公用 IP 位址新增至防火牆例外清單。
針對從 Azure VM 或從在 Azure 中執行的容器化工作負載所進行的安全連線,請考慮啟用私人存取。 私人端點可讓您透過私人網路安全地連線到彈性伺服器,而不需要暴露在公用網際網路上。 此外,請確定從中進行連線的網路允許透過 TCP 連接埠 3306 (這是適用於 MySQL 的 Azure 資料庫彈性伺服器所需要的連接埠) 將流量輸出到 Azure。
因為新的部署預設會啟用加密,所以您必須下載伺服器上所安裝的公用憑證,並在透過 TLS 1.2 建立連線時使用此憑證。
解決網路和憑證需求之後,您應該能夠連線到適用於 MySQL 的 Azure 資料庫彈性伺服器,並以數種不同的方式進行查詢,包括使用:
Azure CLI (az mysql) 或 Azure Cloud Shell
- 在 Azure CLI 中使用下列命令格式來進行連線:
az mysql flexible-server connect --name <server-name> --user <username>
- 在 Azure CLI 中使用下列命令格式來進行連線:
mysql.exe 命令列公用程式
- 在 MySQL 命令列工具中使用下列命令格式來進行連線:
mysql -h <server-name>.mysql.database.azure.com -u <username> -p
- 在 MySQL 命令列工具中使用下列命令格式來進行連線:
MySQL Workbench 圖形化工具
- 在 MySQL Workbench 圖形化工具中使用下列連線詳細資料:
- 主機名稱:
<server-name>.mysql.database.azure.com
- 連接埠:3306
- 使用者名稱:
<username>
- 密碼:
<your-password>
- 主機名稱:
- 在 MySQL Workbench 圖形化工具中使用下列連線詳細資料:
具有 MySQL 延伸模組的 Azure Data Studio
- 啟動 Azure Data Studio,並確定已安裝 MySQL 延伸模組。
- 選取 [新增連線] 圖示,或瀏覽至 [檔案]> [新增查詢]。
- 在 [連線] 對話方塊中,選取 [MySQL] 作為 [連線類型]。
- 指定 [連線詳細資料]:
- 伺服器名稱:
<server-name>.mysql.database.azure.com
- 使用者名稱:
<username>
- 密碼:
<your-password>
- 或者,您也可以使用 Microsoft Entra ID 驗證來登入。 - 連接埠:3306
- 資料庫名稱 (選用):指定要作為連線目標的特定資料庫名稱,或保留空白以列出所有資料庫
- 伺服器名稱:
- SSL 模式:
- 選取 [需要] 或 [驗證 CA]。
- 如果使用 [驗證 CA] 模式,請下載 SSL 憑證。
- 選取 [測試連線] 以確保所有詳細資料都正確。
- (選用) 您可以儲存連線詳細資料以供日後使用,方法是選取 [儲存密碼]。
- 選取 [連線] 以建立連到適用於 MySQL 的 Azure 資料庫彈性伺服器的連線。
許多程式設計語言,例如 PHP、Java、Python、C#、C++、JavaScript、Rust、 Go 和 Ruby。
以下是使用 PHP 的 MySQL 改良延伸模組 (mysqli) 類別連線到適用於 MySQL 的 Azure 資料庫彈性伺服器的基本範例:
<?php
$host = '<server-name>.mysql.database.azure.com';
$username = '<username>';
$password = '<your-password>';
$db_name = '<database-name>';
//Establish the connection
$conn = mysqli_init();
mysqli_real_connect($conn, $host, $username, $password, $db_name, 3306);
if (mysqli_connect_errno($conn)) {
die('Failed to connect to MySQL: '.mysqli_connect_error());
}
//Run a query
printf("Reading data from table: \n");
$res = mysqli_query($conn, 'SELECT * FROM Products');
while ($row = mysqli_fetch_assoc($res)) {
var_dump($row);
}
//Close the connection
mysqli_close($conn);
?>
注意
如需以程式設計方式連線到適用於 MySQL 的 Azure 資料庫彈性伺服器的詳細資訊,請參閱 Microsoft Learn。