使用 Azure CLI 在 Azure Database for MySQL 中配置服务器参数Configure server parameters in Azure Database for MySQL using the Azure CLI

备注

将要查看的是 Azure Database for MySQL 的新服务。You are viewing the new service of Azure Database for MySQL. 若要查看经典 MySQL Database for Azure 的文档,请访问此页To view the documentation for classic MySQL Database for Azure, please visit this page.

可以使用 Azure CLI、Azure 命令行实用工具来列出、显示和更新 Azure Database for MySQL 服务器的配置参数。You can list, show, and update configuration parameters for an Azure Database for MySQL server by using Azure CLI, the Azure command-line utility. 在服务器级别会公开引擎配置的一个子集,并可以进行修改。A subset of engine configurations is exposed at the server-level and can be modified.

先决条件Prerequisites

若要逐步执行本操作方法指南,需要:To step through this how-to guide, you need:

列出 Azure Database for MySQL 服务器的服务器配置参数List server configuration parameters for Azure Database for MySQL server

若要列出服务器中的所有可修改参数及其值,请运行 az mysql server configuration list 命令。To list all modifiable parameters in a server and their values, run the az mysql server configuration list command.

可以列出资源组“myresourcegroup”下服务器 mydemoserver.mysql.database.chinacloudapi.cn 的服务器配置参数。You can list the server configuration parameters for the server mydemoserver.mysql.database.chinacloudapi.cn under resource group myresourcegroup.

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

有关每个列出参数的定义,请参阅服务器系统变量上的 MySQL 引用部分。For the definition of each of the listed parameters, see the MySQL reference section on Server System Variables.

显示服务器配置参数详细信息Show server configuration parameter details

若要显示服务器的某个特定配置参数的详细信息,请运行 az mysql server configuration show 命令。To show details about a particular configuration parameter for a server, run the az mysql server configuration show command.

本示例显示了资源组“myresourcegroup”下服务器 mydemoserver.mysql.database.chinacloudapi.cn 的服务器配置参数 slow_query_log 的详细信息。This example shows details of the slow_query_log server configuration parameter for server mydemoserver.mysql.database.chinacloudapi.cn under resource group myresourcegroup.

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

修改服务器配置参数值Modify a server configuration parameter value

此外,你还可以修改某个服务器配置参数的值,这会更新 MySQL 服务器引擎的基础配置值。You can also modify the value of a certain server configuration parameter, which updates the underlying configuration value for the MySQL server engine. 若要更新配置,请使用 az mysql server configuration set 命令。To update the configuration, use the az mysql server configuration set command.

更新资源组“myresourcegroup”下服务器 mydemoserver.mysql.database.chinacloudapi.cn 的服务器配置参数 slow_query_logTo update the slow_query_log server configuration parameter of server mydemoserver.mysql.database.chinacloudapi.cn under resource group myresourcegroup.

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

若要重置配置参数的值,省去可选的 --value 参数,服务将应用默认值。If you want to reset the value of a configuration parameter, omit the optional --value parameter, and the service applies the default value. 对于上述示例,它将如下所示:For the example above, it would look like:

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

此代码会将 slow_query_log 配置重置为默认值 OFF。This code resets the slow_query_log configuration to the default value OFF.

设置参数未列出Setting parameters not listed

如果 Azure 门户中未列出你要更新的服务器参数,则可以选择使用 init_connect 在连接级别设置参数。If the server parameter you want to update is not listed in the Azure portal, you can optionally set the parameter at the connection level using init_connect. 此项可为每个连接到服务器的客户端设置服务器参数。This sets the server parameters for each client connecting to the server.

更新资源组 myresourcegroup 下的服务器 mydemoserver.mysql.database.chinacloudapi.cn 的 init_connect 服务器配置参数,以设置字符集之类的值 。Update the init_connect server configuration parameter of server mydemoserver.mysql.database.chinacloudapi.cn under resource group myresourcegroup to set values such as character set.

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;"

使用时区参数Working with the time zone parameter

填充时区表Populating the time zone tables

可以通过从 MySQL 命令行或 MySQL Workbench 等工具调用 mysql.az_load_timezone 存储过程,填充服务器上的时区表。The time zone tables on your server can be populated by calling the mysql.az_load_timezone stored procedure from a tool like the MySQL command line or MySQL Workbench.

备注

如果正在运行 MySQL Workbench 中的 mysql.az_load_timezone 命令,可能需要先使用 SET SQL_SAFE_UPDATES=0; 关闭安全更新模式。If you are running the mysql.az_load_timezone command from MySQL Workbench, you may need to turn off safe update mode first using SET SQL_SAFE_UPDATES=0;.

CALL mysql.az_load_timezone();

重要

应重启服务器,确保正确填充时区表。You should restart the server to ensure the time zone tables are properly populated. 要重启服务器,请使用 Azure 门户CLITo restart the server, use the Azure portal or CLI.

要查看可用的时区值,请运行以下命令:To view available time zone values, run the following command:

SELECT name FROM mysql.time_zone_name;

设置全局级时区Setting the global level time zone

可以使用 az mysql server configuration set 命令来设置全局级时区。The global level time zone can be set using the az mysql server configuration set command.

以下命令将资源组 myresourcegroup 下的服务器 mydemoserver.mysql.database.chinacloudapi.cn 的服务器配置参数 time_zone 更新为 Asia/Shanghai 。The following command updates the time_zone server configuration parameter of server mydemoserver.mysql.database.chinacloudapi.cn under resource group myresourcegroup to Asia/Shanghai.

az mysql server configuration set --name time_zone --resource-group myresourcegroup --server mydemoserver --value "Asia/Shanghai"

设置会话级时区Setting the session level time zone

可以通过从 MySQL 命令行或 MySQL Workbench 等工具运行 SET time_zone 命令来设置会话级时区。The session level time zone can be set by running the SET time_zone command from a tool like the MySQL command line or MySQL Workbench. 以下示例将时区设置为“Asia/Shanghai”时区。The example below sets the time zone to the Asia/Shanghai time zone.

SET time_zone = 'Asia/Shanghai';

若要了解日期和时间函数,请参阅 MySQL 文档。Refer to the MySQL documentation for Date and Time Functions.

后续步骤Next steps