共用方式為


快速入門:使用 PowerShell 建立適用於 MySQL 的 Azure 資料庫伺服器

適用於: 適用於 MySQL 的 Azure 資料庫 - 單一伺服器

重要

適用於 MySQL 的 Azure 資料庫單一伺服器位於淘汰路徑上。 強烈建議您升級至適用於 MySQL 的 Azure 資料庫彈性伺服器。 如需移轉至適用於 MySQL 的 Azure 資料庫彈性伺服器的詳細資訊,請參閱適用於 MySQL 的 Azure 資料庫單一伺服器會發生什麼事

本快速入門說明如何使用 PowerShell 在 Azure 資源群組中建立 Azure Database for MySQL 伺服器。 您可以使用 PowerShell,以互動方式或在指令碼中建立和管理 Azure 資源。

必要條件

如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

如果您選擇在本機使用 PowerShell,本文會要求您安裝 Az PowerShell 模組,並使用 Connect-AzAccount Cmdlet 連線到您的 Azure 帳戶。 如需安裝 Az PowerShell 模組的詳細資訊,請參閱安裝 Azure PowerShell

重要

雖然 Az.MySql PowerShell 模組處於預覽狀態,但您仍必須使用下列命令,將其與 Az PowerShell 模組分開安裝:Install-Module -Name Az.MySql -AllowPrerelease。 在 Az.MySql PowerShell 模組正式推出後,其會成為未來 Az PowerShell 模組版本的一部分,並可從 Azure Cloud Shell 內以原生方式使用。

如果這是您第一次使用適用於 MySQL 的 Azure 資料庫服務,則必須註冊 Microsoft.DBforMySQL 資源提供者。

Register-AzResourceProvider -ProviderNamespace Microsoft.DBforMySQL

Azure Cloud Shell

Azure Cloud Shell 是裝載於 Azure 中的互動式殼層環境,可在瀏覽器中使用。 您可以使用 Bash 或 PowerShell 搭配 Cloud Shell,與 Azure 服務共同使用。 您可以使用 Cloud Shell 預先安裝的命令,執行本文提到的程式碼,而不必在本機環境上安裝任何工具。

要啟動 Azure Cloud Shell:

選項 範例/連結
選取程式碼或命令區塊右上角的 [試試看]。 選取 [試試看] 並不會自動將程式碼或命令複製到 Cloud Shell 中。 Azure Cloud Shell 的「試試看」範例螢幕擷取畫面。
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 啟動 Azure Cloud Shell 的按鈕。
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 顯示 Azure 入口網站中 Cloud Shell 按鈕的螢幕擷取畫面

若要使用 Azure Cloud Shell:

  1. 啟動 Cloud Shell。

  2. 選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。

  3. 透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。

  4. 選取 Enter 鍵執行程式碼或命令。

如果您有多個 Azure 訂用帳戶,請選擇資源計費的適當訂用帳戶。 使用 Set-AzContext Cmdlet 來選取特定的訂用帳戶識別碼。

Set-AzContext -SubscriptionId 00000000-0000-0000-0000-000000000000

建立資源群組

使用 New-AzResourceGroup Cmdlet 來建立 Azure 資源群組。 Azure 資源群組是在其中將 Azure 資源當作群組部署及管理的邏輯容器。

下列範例會在 [美國西部] 區域中建立名為 myresourcegroup 的資源群組。

New-AzResourceGroup -Name myresourcegroup -Location westus

建立適用於 MySQL 的 Azure 資料庫伺服器

使用 New-AzMySqlServerCmdlet 建立適用於 MySQL 伺服器的 Azure 資料庫。 一部伺服器可以管理多個資料庫。 一般而言,每個專案或每個使用者會使用個別的資料庫。

下表包含 New-AzMySqlServer Cmdlet 常用的參數和範例值清單。

設定 範例值 說明
Name mydemoserver 選擇 Azure 中可識別 Azure Database for MySQL 伺服器的全域唯一名稱。 伺服器名稱只能包含字母、數字及連字號 (-) 字元。 在建立過程中,指定的任何大寫字元都會自動轉換成小寫。 此名稱必須包含 3 到 63 個字元。
resourceGroupName myresourcegroup 提供 Azure 資源群組的名稱。
Sku GP_Gen5_2 SKU 的名稱。 遵循簡短形式的慣例 pricing-tier_compute-generation_vCores。 如需 Sku 參數的詳細資訊,請參閱此表格後面的資訊。
BackupRetentionDay 7 備份應保留的時間長度。 單位為天。 範圍為 7-35 天。
GeoRedundantBackup 已啟用 是否應針對此伺服器啟用異地備援備份。 此值無法針對基本定價層中的伺服器啟用,而且在伺服器建立之後就無法變更。 允許的值:Enabled、Disabled。
Location westus 伺服器的 Azure 區域。
SslEnforcement 已啟用 是否應針對此伺服器啟用 SSL。 允許的值:Enabled、Disabled。
StorageInMb 51200 伺服器的儲存體容量 (單位為 MB)。 有效的 StorageInMb 最小值為 5120 MB,並以 1024 MB 的增量增加。 如需儲存體大小限制的詳細資訊,請參閱適用於 MySQL 的 Azure 資料庫定價層
版本 5.7 MySQL 主要版本。
AdministratorUserName myadmin 適用於系統管理員登入的使用者名稱。 此名稱不得為 azure_superuseradminadministratorrootguestpublic
AdministratorLoginPassword <securestring> 系統管理員使用者的密碼,其格式為安全字串。 其必須包含 8 到 128 個字元。 您的密碼必須包含下列三個類別的字元:英文大寫字母、英文小寫字母、數字與非英數字元。

Sku 參數值會遵循慣例 pricing-tier_compute-generation_vCores,如下列範例所示。

  • -Sku B_Gen5_1 對應於基本、第 5 代和 1 個虛擬核心。 此選項是最小的可用 SKU。
  • -Sku GP_Gen5_32 對應於一般用途、第 5 代和 32 個 vCore。
  • -Sku MO_Gen5_2 對應到記憶體最佳化、第 5 代和 2 個 vCore。

如需各區域和各層有效 Sku值的相關資訊,請參閱適用於 MySQL 的 Azure 資料庫定價層

下列範例會在 [美國西部] 區域中建立名為 mydemoserver的 MySQL 伺服器,其位於 myresourcegroup 資源群組中,且伺服器系統管理員登入為 myadmin。 這是一般用途定價層中的 Gen 5 伺服器,已啟用 2 個虛擬核心和異地備援備份。 記錄範例第一行中使用的密碼,因為這是 MySQL 伺服器系統管理員帳戶的密碼。

提示

伺服器名稱會對應至 DNS 名稱,而且在 Azure 中必須是全域唯一的。

$Password = Read-Host -Prompt 'Please enter your password' -AsSecureString
New-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup -Sku GP_Gen5_2 -GeoRedundantBackup Enabled -Location westus -AdministratorUsername myadmin -AdministratorLoginPassword $Password

如果您的工作負載只需要輕量計算和 I/O,請考慮使用基本定價層。

重要

在基本定價層中建立的伺服器後續無法調整為一般用途或記憶體最佳化,而且無法進行異地複寫。

設定防火牆規則

使用 New-AzMySqlFirewallRuleCmdlet 建立適用於 MySQL 的 Azure 資料庫伺服器層級防火牆規則。 伺服器層級的防火牆規則允許外部應用程式 (例如 mysql 命令列工具或 MySQL Workbench) 穿過適用於 MySQL 的 Azure 資料庫服務防火牆連線到您的伺服器。

下列範例會建立名為 AllowMyIP 的防火牆規則,以允許來自特定 IP 位址 192.168.0.1 的連線。 請替換為與您的連線來源位置相對應的 IP 位址或 IP 位址範圍。

New-AzMySqlFirewallRule -Name AllowMyIP -ResourceGroupName myresourcegroup -ServerName mydemoserver -StartIPAddress 192.168.0.1 -EndIPAddress 192.168.0.1

注意

Azure Database for MySQL 的連線透過連接埠 3306 進行通訊。 如果您嘗試從公司網路內進行連線,可能不允許透過連接埠 3306 的輸出流量。 在此案例中,唯有 IT 部門開啟連接埠 3306,您才能連線到伺服器。

進行 SSL 設定

預設會強制執行您的伺服器與用戶端應用程式之間的 SSL 連線。 此預設值可藉由加密透過網際網路的資料流,確保「移動中」資料的安全性。 針對本快速入門,請停用您伺服器的 SSL 連線。 如需詳細資訊,請參閱在您的應用程式中設定 SSL 連線能力,以安全地連線至適用於 MySQL 的 Azure 資料庫

警告

不建議對生產伺服器停用 SSL。

下列範例會在適用於 MySQL 的 Azure 資料庫伺服器上停用 SSL。

Update-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup -SslEnforcement Disabled

取得連線資訊

若要連線到您的伺服器,您必須提供主機資訊和存取認證。 使用下列範例來判斷連線資訊。 請記下 FullyQualifiedDomainNameAdministratorLogin 的值。

Get-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup |
  Select-Object -Property FullyQualifiedDomainName, AdministratorLogin
FullyQualifiedDomainName                    AdministratorLogin
------------------------                    ------------------
mydemoserver.mysql.database.azure.com       myadmin

使用 mysql 命令列工具連線至伺服器

使用 mysql 命令列工具連線到伺服器。 若要下載並安裝命令列工具,請參閱 MySQL 社群下載。 對本文中的程式碼範例選取 [試試看]mysql 按鈕,也可以存取 Azure Cloud Shell 中預先安裝的 命令列工具版本。 其他存取 Azure Cloud Shell 的方法是選取 Azure 入口網站右上方工具列上的 >_ 按鈕,或造訪 shell.azure.com

  1. 使用 mysql 命令列工具連線至伺服器。

    mysql -h mydemoserver.mysql.database.azure.com -u myadmin@mydemoserver -p
    
  2. 檢視伺服器狀態。

    mysql> status
    
    C:\Users\>mysql -h mydemoserver.mysql.database.azure.com -u myadmin@mydemoserver -p
    Enter password: *************
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 65512
    Server version: 5.6.42.0 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> status
    --------------
    mysql  Ver 14.14 Distrib 5.7.29, for Win64 (x86_64)
    
    Connection id:          65512
    Current database:
    Current user:           myadmin@myipaddress
    SSL:                    Not in use
    Using delimiter:        ;
    Server version:         5.6.42.0 MySQL Community Server (GPL)
    Protocol version:       10
    Connection:             mydemoserver.mysql.database.azure.com via TCP/IP
    Server characterset:    latin1
    Db     characterset:    latin1
    Client characterset:    utf8
    Conn.  characterset:    utf8
    TCP port:               3306
    Uptime:                 1 hour 2 min 12 sec
    
    Threads: 7  Questions: 952  Slow queries: 0  Opens: 66  Flush tables: 3  Open tables: 16  Queries per second avg: 0.255
    --------------
    
    mysql>
    

如需其他命令,請參閱 MySQL 5.7 參考手冊 - 第 4.5.1 章

使用 MySQL Workbench 來連線到伺服器

  1. 在您的用戶端電腦上啟動 MySQL Workbench 應用程式。 若要下載並安裝 MySQL Workbench,請參閱下載 MySQL Workbench

  2. 在 [設定新連線] 對話方塊的 [參數] 索引標籤上,輸入下列資訊︰

    設定 建議的值 說明
    連線名稱 我的連線 指定此連線的標籤
    連線方式 標準 (TCP/IP) 使用 TCP/IP 通訊協定來連線到適用於 MySQL 的 Azure 資料庫
    主機名稱 mydemoserver.mysql.database.azure.com 您先前記下的伺服器名稱
    連接埠 3306 MySQL 的預設連接埠
    使用者名稱 myadmin@mydemoserver 您先前記下的伺服器管理員登入
    密碼 ************* 使用您稍早設定的管理帳戶密碼
  3. 若要測試參數是否設定正確,請按一下 [測試連線] 按鈕。

  4. 選取要連到伺服器的連線。

清除資源

如果其他快速入門或教學課程不需要在本快速入門中建立的資源,您可以執行下列範例加以刪除。

警告

下列範例會刪除指定的資源群組和其中包含的所有資源。 如果本快速入門範圍以外的資源存在於指定的資源群組中,則也會一併刪除。

Remove-AzResourceGroup -Name myresourcegroup

若只要刪除在本快速入門中建立的伺服器,而不刪除資源群組,請使用 Remove-AzMySqlServer Cmdlet。

Remove-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup

下一步