使用 Azure CLI 在 Azure Database for MySQL 灵活服务器中配置服务器参数
可以使用 Azure CLI、Azure 命令行实用工具来列出、显示和更新 Azure Database for MySQL 灵活服务器实例的参数。 创建服务器时,将使用默认值和推荐值配置服务器参数。
本文介绍如何使用 Azure CLI 列出、显示和更新服务器参数。
注意
可以在服务器级别全局更新服务器参数,请使用使用 Azure CLI 在 Azure Database for MySQL 灵活服务器中配置服务器参数或使用 Azure 门户在 Azure Database for MySQL 灵活服务器中配置服务器参数
先决条件
若要逐步执行本操作方法指南,需要:
为 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 表。