你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:使用 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 Cloud Shell 中的 Azure CLI 在大约 5 分钟内创建 Azure Database for MySQL 服务器。

如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户

先决条件

  • 本快速入门需要 Azure CLI 版本 2.0 或更高版本。 如果使用 Azure Cloud Shell,则最新版本已安装。

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

    az account set --subscription <subscription id>
    

创建 Azure Database for MySQL 服务器

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

az group create --name myresourcegroup --location westus

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

az mysql server create --resource-group myresourcegroup --name mydemoserver --location westus --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 westus 服务器的 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.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforMySQL/servers/mydemoserver",
  "location": "westus",
  "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 服务器

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

 mysql -h mydemoserver.mysql.database.azure.com -u myadmin@mydemoserver -p

清理资源

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

az group delete --name myresourcegroup

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

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

后续步骤