您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

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

提示

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

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

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

先决条件

  • Azure Cloud Shell 中使用 Bash 环境。

    在新窗口中启动 Cloud Shell

  • 如果需要,请安装 Azure CLI 来运行 CLI 参考命令。

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

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

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

  • 本快速入门需要 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

后续步骤