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

使用 Azure CLI 在 Azure Database for MySQL 灵活服务器中配置服务器参数

可以使用 Azure CLI、Azure 命令行实用工具来列出、显示和更新 Azure Database for MySQL 灵活服务器实例的参数。 创建服务器时,将使用默认值和推荐值配置服务器参数。

本文介绍如何使用 Azure CLI 列出、显示和更新服务器参数。

先决条件

若要逐步执行本操作方法指南,需要:

为 Azure Database for MySQL 灵活服务器实例列出服务器参数

若要列出 Azure Database for MySQL 灵活服务器实例中的所有参数及其值,请运行 az mysql flexible-server parameter list 命令。

可以列出资源组“myresourcegroup”下服务器 mydemoserver.mysql.database.azure.com 的服务器参数 。

az mysql flexible-server parameter list --resource-group myresourcegroup --server-name mydemoserver

有关每个列出参数的定义,请参阅服务器系统变量上的 MySQL 引用部分。

显示服务器参数详细信息

若要显示 Azure Database for MySQL 灵活服务器实例的某个特定参数的详细信息,请运行 az mysql flexible-server parameter show 命令。

本示例显示了资源组“myresourcegroup”下服务器 mydemoserver.mysql.database.azure.com 的服务器参数 slow_query_log 的详细信息。

az mysql flexible-server parameter show --name slow_query_log --resource-group myresourcegroup --server-name mydemoserver

修改服务器参数值

还可以修改某个 Azure Database for MySQL 灵活服务器实例参数的值,这会更新 MySQL 服务器引擎的基础配置值。 若要更新服务器参数,请使用 az mysql flexible-server parameter set 命令。

更新资源组“myresourcegroup”下服务器 mydemoserver.mysql.database.azure.com 的服务器参数 slow_query_log。

az mysql flexible-server parameter set --name slow_query_log --resource-group myresourcegroup --server-name mydemoserver --value ON

更新资源组 myresourcegroup 中服务器 mydemoserver.mysql.database.azure.com 的多个服务器参数,例如 slow_query_log 和 audit_log_enabled

az mysql flexible-server parameter set-batch -resource-group myresourcegroup --server-name mydemoserver --source "user-override" --args slow_query_log="ON" audit_log_enabled="ON"

若要重置参数的值,省去可选的 --value 参数,服务将应用默认值。 对于上述示例,它将如下所示:

az mysql flexible-server parameter set --name slow_query_log --resource-group myresourcegroup --server-name mydemoserver

此代码会将 slow_query_log 重置为默认值 OFF。

设置不可修改的服务器参数

如果要更新的 Azure Database for MySQL 灵活服务器参数不可修改,则可以选择性地使用 init_connect 在连接级别设置参数。 此项可为每个连接到服务器的客户端设置服务器参数。

更新资源组“myresourcegroup”下的服务器 mydemoserver.mysql.database.azure.com 的 init_connect 服务器参数,以设置字符集等值。

az mysql flexible-server parameter set --name init_connect --resource-group myresourcegroup --server-name mydemoserver --value "SET character_set_client=utf8;SET character_set_database=utf8mb4;SET character_set_connection=latin1;SET character_set_results=latin1;"

注意

init_connect 可用于在会话级别更改无需 SUPER 权限的参数。 若要验证是否可以使用 init_connect 设置参数,请执行 set session parameter_name=YOUR_DESIRED_VALUE; 命令,如果出现“拒绝访问;需要 SUPER 权限”错误,则无法使用“init_connect”设置参数。

使用时区参数

设置全局级时区

可以使用 az mysql flexible-server parameter set 命令来设置全局级时区。

以下命令将资源组“myresourcegroup”下的服务器 mydemoserver.mysql.database.azure.com 的 time_zone 服务器参数更新为“美国/太平洋”。

az mysql flexible-server parameter set --name time_zone --resource-group myresourcegroup --server-name mydemoserver --value "US/Pacific"

设置会话级时区

可以通过从 MySQL 命令行或 MySQL Workbench 等工具运行 SET time_zone 命令来设置会话级时区。 以下示例将时区设置为“美国/太平洋”时区。

SET time_zone = 'US/Pacific';

若要了解日期和时间函数,请参阅 MySQL 文档。

备注

若要在会话级别更改时区,必须至少将服务器参数 time_zone 全局更新为所需的时区一次,以便更新 mysql.time_zone_name 表。

下一步