部署 Azure Database for MySQL 实例

已完成

Azure Database for MySQL 是一种由 MySQL 社区版提供支持的关系数据库服务。 它是一种完全托管的数据库即服务(DBaaS)产品,可以处理具有可预测性能和动态可伸缩性的任务关键型工作负荷。

Azure Database for MySQL 部署选项

若要在 Azure 中托管 MySQL 数据库,可以使用灵活服务器部署选项。 灵活服务器选项提供以下功能:

  • 更好地控制数据库服务器和成本优化。
  • 通过自定义 MySQL 引擎来开发应用程序的功能。
  • 区域冗余高可用性。
  • 托管的维护时段,用于控制补丁和升级的时间安排。
  • 用于调优的配置参数。

用于部署服务器实例的命令

本单元介绍部署 Azure Database for MySQL 灵活服务器实例的步骤。 你实际是在下一个单元执行类似的步骤,包括运行一个为你执行某些步骤的脚本。

若要部署 Azure Database for MySQL 灵活服务器实例,请先创建资源组。 然后,在资源组中创建服务器实例。 最后,若要访问实例,请配置防火墙规则。

以下步骤概述了这些任务的命令:

  1. 若要登录到 Azure CLI,请使用以下命令:

    az login
    
  2. 若要创建 Azure 资源组,请使用以下命令:

    az group create \
        --name <resource-group-name> \
        --location <location>
    

    以下列表描述了用于替换 <...> 占位符的值:

    • <resource-group-name> 在订阅中必须唯一。
    • 使用命令<location>时,Name必须是az account list-locations --output table列中返回的值之一。
  3. 若要创建 Azure Database for MySQL 灵活服务器实例,请使用以下命令:

    az mysql flexible-server create \
        --resource-group <resource-group-name> \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --sku-name Standard_B1ms \
        --tier Burstable \
        --public-access <public-IP> \
        --storage-size 32 \
        --storage-auto-grow Enabled \
        --iops 500 \
        --version 8.0.21
    

    除了前面所述的值外,以下列表还描述了用于 <...> 占位符的值:

    • <MySQL-server-name> 在资源组中必须是唯一的。 名称只能包含小写字母、数字和连字符 (-)。 名称长度必须为 3 到 63 个字符(包括端点)。如果方便的话,可以直接使用 <resource-group-name> 的相同值。
    • <MySQL-password> 是管理员的密码。 密码长度必须介于 8 到 128 个字符之间,并且必须包含以下三个类别中的字符:英语大写字母、英文小写字母、数字和非字母数字字符。
    • <public-IP> 是要允许在 Azure 外部进行连接的主机名的公共 IP 地址,用于从本地主机测试数据库。
  4. 若要创建防火墙规则,请使用以下命令,并应用前面命令中的相同占位符值。

    az mysql flexible-server firewall-rule create \
        --resource-group <resource-group-name> \
        --name <MySQL-server-name> \
        --rule-name AllowAllAzureIPs \
        --start-ip-address 0.0.0.0 \
        --end-ip-address 255.255.255.255
    

使用 Azure CLI 连接并测试连接

由于 MySQL 8.0,用户身份验证方法已更改为 caching_sha2_password,使 mysql_native_password 身份验证不可用。 或者,可以使用 az mysql flexible-server connect Azure CLI 中的命令测试与数据库服务器的连接,快速创建基本数据库,并直接针对服务器运行查询,而无需安装 mysql.exe 或 MySQL Workbench。 还可以在交互模式下使用该命令一次运行多个查询。

使用以下命令创建数据库、连接到服务器并运行查询,并使用上述命令中的相同占位符值和新 <database-name> 值命名数据库。

  1. 若要创建数据库,请使用以下命令:

    az mysql flexible-server db create \
        --resource-group <resource-group-name> \
        --server-name <MySQL-server-name> \
        --database-name <database-name> \
        --charset utf8mb4 \
        --collation utf8mb4_unicode_ci
    
  2. 若要使用交互模式连接到服务器,请使用以下命令:

    az mysql flexible-server connect \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --interactive
    
  3. 若要运行查询,请使用以下命令:

    az mysql flexible-server execute \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --querytext "select * from table1;"
    

    或者,可以将查询放入文件中,并使用以下命令来运行查询:

    az mysql flexible-server execute \
        --name <MySQL-server-name> \
        --admin-user <MySQL-user> \
        --admin-password <MySQL-password> \
        --database-name <database-name> \
        --file-path "./test.sql"
    

单元摘要

你了解了用于创建 Azure Database for MySQL 灵活服务器实例的命令。 在下一单元中,你将创建并配置数据库,以便在 Jakarta EE 应用程序中使用。