快速入门:使用 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 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 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_superuser、admin、administrator、root、guest 或 public。 |
admin-password | 安全密码 | 管理员用户的密码。 该密码必须包含 8 到 128 个字符。 密码必须包含以下三个类别的字符:英文大写字母、英文小写字母、数字和非字母数字字符。 |
sku-name | GP_Gen5_2 | 输入定价层和计算配置的名称。 请遵循简写约定 {pricing tier} {compute generation} {vCores}。 有关详细信息,请参阅定价层。 |
重要
配置服务器级防火墙规则
默认情况下,创建的新服务器使用防火墙规则进行保护,并且无法公开访问。 可以使用 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