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

适用于: Azure Database for MySQL - 单一服务器

重要

Azure Database for MySQL 单一服务器即将停用。 强烈建议升级到 Azure Database for MySQL 灵活服务器。 有关如何迁移到 Azure Database for MySQL 灵活服务器的详细信息,请参阅 Azure Database for MySQL 单一服务器发生了什么情况?

可以使用 Azure CLI、Azure 命令行实用工具来列出、显示和更新 Azure Database for MySQL 服务器的配置参数。 在服务器级别会公开引擎配置的一个子集,并可以进行修改。

注意

可在服务器级别全局更新服务器参数,只需使用 Azure CLIPowerShellAzure 门户即可

先决条件

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

列出 Azure Database for MySQL 服务器的服务器配置参数

若要列出服务器中的所有可修改参数及其值,请运行 az mysql server configuration list 命令。

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

az mysql server configuration list --resource-group myresourcegroup --server mydemoserver

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

显示服务器配置参数详细信息

若要显示服务器的某个特定配置参数的详细信息,请运行 az mysql server configuration show 命令。

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

az mysql server configuration show --name slow_query_log --resource-group myresourcegroup --server mydemoserver

修改服务器配置参数值

此外,你还可以修改某个服务器配置参数的值,这会更新 MySQL 服务器引擎的基础配置值。 若要更新配置,请使用 az mysql server configuration set 命令。

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

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

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

az mysql server configuration set --name slow_query_log --resource-group myresourcegroup --server mydemoserver

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

设置参数未列出

如果 Azure 门户中未列出你要更新的服务器参数,则可以选择性地使用 init_connect 在连接级别设置参数。 此项可为每个连接到服务器的客户端设置服务器参数。

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

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

使用时区参数

填充时区表

可以通过从 MySQL 命令行或 MySQL Workbench 等工具调用 mysql.az_load_timezone 存储过程,填充服务器上的时区表。

注意

如果正在运行 MySQL Workbench 中的 mysql.az_load_timezone 命令,可能需要先使用 SET SQL_SAFE_UPDATES=0; 关闭安全更新模式。

CALL mysql.az_load_timezone();

重要

应重启服务器,确保正确填充时区表。 要重启服务器,请使用 Azure 门户CLI

要查看可用的时区值,请运行以下命令:

SELECT name FROM mysql.time_zone_name;

设置全局级时区

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

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

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

设置会话级时区

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

SET time_zone = 'US/Pacific';

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

后续步骤