此示例 CLI 脚本创建 Azure Database for MySQL 灵活服务器、配置服务器级防火墙规则( 公共访问连接方法 )并在服务器创建后连接到该服务器。

脚本成功运行后,所有 Azure 服务和配置的 IP 地址均可访问 MySQL 灵活服务器,并且你将以交互模式连接到该服务器。

创建服务器后,无法更改连接方法。 例如,如果使用“公共访问(允许的 IP 地址)”创建服务器,则在创建后,不能改用“专用访问(VNet 集成)” 。 若要详细了解连接方法,请参阅 网络概念

如果没有 Azure 订阅,请在开始之前 创建一个 Azure 免费帐户 。 通过使用 Azure 免费帐户,你现在可以在 12 个月内免费试用 Azure Database for MySQL 灵活服务器。 有关详细信息,请参阅 免费试用灵活服务器

  • Azure Cloud Shell 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 中的 Bash 快速入门

  • 如需在本地运行 CLI 参考命令,请 安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅 如何在 Docker 容器中运行 Azure CLI

  • 如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅 使用 Azure CLI 登录

  • 出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅 使用 Azure CLI 的扩展

  • 运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade

    启动 Azure Cloud Shell

    Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。

    若要打开 Cloud Shell,只需要从代码块的右上角选择“试一试”。 也可以通过转到 https://shell.azure.com 在单独的浏览器标签页中启动 Cloud Shell。

    当 Cloud Shell 打开时,请验证是否为环境选择了“Bash”。 后续会话将在 Bash 环境中使用 Azure CLI,选择“复制”以复制代码块,将其粘贴到 Cloud Shell 中,然后按 Enter 来运行它。

    登录 Azure

    Cloud Shell 会在登录时使用的初始帐户下自动进行身份验证。 使用以下脚本通过其他订阅登录,将 <Subscription ID> 替换为 Azure 订阅 ID。 如果没有 Azure 订阅 ,请在开始之前创建一个 Azure 免费帐户

    subscription="<subscriptionId>" # add subscription here
    az account set -s $subscription # ...or use 'az login'
    

    有关详细信息,请参阅设置有效的订阅以交互方式登录

    # Create an Azure Database for MySQL - Flexible Server Burstable B1ms instance # and configure Public Access connectivity method # Variable block let "randomIdentifier=$RANDOM*$RANDOM" location="East US" resourceGroup="msdocs-mysql-rg-$randomIdentifier" tag="create-connect-burstable-server-public-access-mysql" server="msdocs-mysql-server-$randomIdentifier" login="azureuser" password="Pa$$w0rD-$randomIdentifier" ipAddress="None" # Specifying an IP address of 0.0.0.0 allows public access from any resources # deployed within Azure to access your server. Setting it to "None" sets the server # in public access mode but does not create a firewall rule. # For your public IP address, https://whatismyipaddress.com echo "Using resource group $resourceGroup with login: $login, password: $password..." # Create a resource group echo "Creating $resourceGroup in $location..." az group create --name $resourceGroup --location "$location" --tags $tag # Create a MySQL Flexible server in the resource group echo "Creating $server" az mysql flexible-server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --public-access $ipAddress # Optional: Add firewall rule to connect from all Azure services # To limit to a specific IP address or address range, change start-ip-address and end-ip-address echo "Adding firewall for IP address range" az mysql flexible-server firewall-rule create --name $server --resource-group $resourceGroup --rule-name AllowAzureIPs --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0 # Connect to server in interactive mode az mysql flexible-server connect --name $server --admin-user $login --admin-password $password --interactive

    使用 az group delete 命令删除资源组以及与其关联的所有资源 - 除非你持续需要这些资源。 其中一些资源在创建和删除时可能要稍等片刻。

    az group delete --name $resourceGroup
    

    此脚本使用以下命令。 表中的每条命令均链接到特定于命令的文档。

  •