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

适用于 Azure Database for MySQL 灵活服务器

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

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

注意

可在服务器级别全局更新服务器参数,方法是使用 Azure CLIAzure 门户

先决条件

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

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

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

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

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.chinacloudapi.cn 的服务器参数 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.chinacloudapi.cn 的服务器参数 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.chinacloudapi.cn 的服务器参数 slow_query_log

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.chinacloudapi.cn 的 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.chinacloudapi.cn 的 time_zone 服务器参数更新为 +08:00。

az mysql flexible-server parameter set --name time_zone --resource-group myresourcegroup --server-name mydemoserver --value " +08:00"

设置会话级时区

可以通过从 MySQL 命令行或 MySQL Workbench 等工具运行 SET time_zone 命令来设置会话级时区。 以下示例将时区设置为 +08:00 时区。

SET time_zone = ' +08:00';

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

备注

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

后续步骤