快速入门:使用 Azure CLI 为 MySQL 服务器创建 Azure 数据库

适用于:Azure Database for MySQL - 单一服务器

重要

Azure Database for MySQL 单一服务器即将停用。 强烈建议升级到 Azure Database for MySQL 灵活服务器。 有关如何迁移到 Azure Database for MySQL 灵活服务器的详细信息,请参阅 Azure Database for MySQL 单一服务器发生了什么情况?

提示

考虑使用更简单的 az mysql up Azure CLI 命令(当前处于预览状态)。 试用快速入门

本快速入门教程介绍如何使用 Azure CLI 在大约 5 分钟内创建 Azure Database for MySQL 服务器。

如果没有 Azure 试用版订阅,请在开始前创建一个试用版订阅

先决条件

  • 如需在本地运行 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 CLI 版本 2.0 或更高版本。

  • 使用 az account set 命令选择帐户下的特定订阅。 记下 az login 输出中的 id 值,以用作命令中订阅参数的值。 如果有多个订阅,请选择应计费的资源所在的相应订阅。 若要获取所有订阅,请使用 az account list

    az account set --subscription <subscription id>
    

创建 Azure Database for MySQL 服务器

使用 az group create 命令创建 Azure 资源组,然后在此资源组中创建 MySQL 服务器。 应提供唯一名称。 以下示例在 chinaeast2 位置创建名为 myresourcegroup 的资源组。

az group create --name myresourcegroup --location chinaeast2

使用 az mysql server create 命令为 MySQL 服务器创建 Azure 数据库。 一台服务器可以管理多个数据库。

az mysql server create --resource-group myresourcegroup --name mydemoserver --location chinaeast2 --admin-user myadmin --admin-password <server_admin_password> --sku-name GP_Gen5_2 

下面是上述参数的详细信息:

设置 示例值 说明
name mydemoserver 输入 Azure Database for MySQL 服务器的唯一名称。 服务器名称只能包含小写字母、数字和连字符 (-) 字符。 必须包含 3 到 63 个字符。
resource-group myresourcegroup 提供 Azure 资源组的名称。
location chinaeast2 服务器的 Azure 位置。
admin-user myadmin 管理员的登录用户名。 不能是 azure_superuseradminadministratorrootguestpublic
admin-password 安全密码 管理员用户的密码。 该密码必须包含 8 到 128 个字符。 密码必须包含以下三个类别的字符:英文大写字母、英文小写字母、数字和非字母数字字符。
sku-name GP_Gen5_2 输入定价层和计算配置的名称。 请遵循简写约定 {pricing tier} {compute generation} {vCores}。 有关详细信息,请参阅定价层

重要

  • 服务器上的默认 MySQL 版本为 5.7。 目前还提供了 5.6 和 8.0 版本。
  • 若要查看 az mysql server create 命令的所有参数,请参阅此参考文档
  • 默认情况下,SSL 在服务器上启用。 有关 SSL 的详细信息,请参阅配置 SSL 连接

配置服务器级防火墙规则

默认情况下,创建的新服务器使用防火墙规则进行保护,并且无法公开访问。 可以使用 az mysql server firewall-rule create 命令在服务器上配置防火墙规则。 这将允许你在本地连接到服务器。

以下示例创建名为 AllowMyIP 的防火墙规则,该规则允许从特定的 IP 地址 (192.168.0.1) 进行连接。 替换将从其连接的 IP 地址。 如果需要,可以使用一系列 IP 地址。 不知道如何查找你的 IP,则转到 https://whatismyipaddress.com/ 获取 IP 地址。

az mysql server firewall-rule create --resource-group myresourcegroup --server mydemoserver --name AllowMyIP --start-ip-address 192.168.0.1 --end-ip-address 192.168.0.1

注意

连接到 Azure Database for MySQL 时,经端口 3306 进行通信。 如果尝试从企业网络内部进行连接,则可能不允许经端口 3306 的出站流量。 如果是这样,则无法连接到服务器,除非 IT 部门打开了端口 3306。

获取连接信息

若要连接到服务器,需要提供主机信息和访问凭据。

az mysql server show --resource-group myresourcegroup --name mydemoserver

结果采用 JSON 格式。 记下 fullyQualifiedDomainName 和 administratorLogin 。

{
  "administratorLogin": "myadmin",
  "earliestRestoreDate": null,
  "fullyQualifiedDomainName": "mydemoserver.mysql.database.chinacloudapi.cn",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforMySQL/servers/mydemoserver",
  "location": "chinaeast2",
  "name": "mydemoserver",
  "resourceGroup": "myresourcegroup",
  "sku": {
    "capacity": 2,
    "family": "Gen5",
    "name": "GP_Gen5_2",
    "size": null,
    "tier": "GeneralPurpose"
  },
  "sslEnforcement": "Enabled",
  "storageProfile": {
    "backupRetentionDays": 7,
    "geoRedundantBackup": "Disabled",
    "storageMb": 5120
  },
  "tags": null,
  "type": "Microsoft.DBforMySQL/servers",
  "userVisibleState": "Ready",
  "version": "5.7"
}

使用 mysql 命令行客户端连接到 Azure Database for MySQL 服务器

可以在本地环境中使用常用的客户端工具(mysql.exe 命令行工具)连接到服务器。

   mysql -h mydemoserver.mysql.database.chinacloudapi.cn -u myadmin@mydemoserver -p

清理资源

如果不需要将这些资源用于其他快速入门/教程,则可通过执行以下命令将其删除:

az group delete --name myresourcegroup

若要删除新创建的服务器,可运行 az mysql server delete 命令。

az mysql server delete --resource-group myresourcegroup --name mydemoserver

后续步骤