使用多可用区数据库集群的数据库集群参数组 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用多可用区数据库集群的数据库集群参数组

多可用区数据库集群使用数据库集群参数组。以下各节介绍配置和管理数据库集群参数组。

创建数据库集群参数组

您可以使用 Amazon Web Services Management Console、Amazon CLI 或 RDS API 创建新数据库集群参数组。

创建数据库集群参数组之后,至少等待 5 分钟,然后创建使用该数据库集群参数组的数据库集群。这样,Amazon RDS 就可以在新数据库集群使用参数组之前完全创建此参数组。您可以使用 Amazon RDS 控制台Parameter groups(参数组)页面,或者使用 describe-db-cluster-parameters 命令,以验证是否创建了数据库集群参数组。

以下限制适用于数据库集群参数组名称:

  • 名称必须为 1 到 255 个字母、数字或连字符。

    原定设置参数组名称可以包含句点,例如 default.aurora-mysql5.7。但是,自定义参数组名称不能包含句点。

  • 第一个字符必须是字母。

  • 名称不能以连字符结束,也不能包含两个连续的连字符。

若要创建数据库集群参数组
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择参数组

  3. 选择创建参数组

    将显示创建参数组窗口。

  4. 参数组系列列表中,选择一个数据库参数组系列。

  5. 类型列表中,选择数据库集群参数组​。

  6. 组名框中,输入新数据库集群参数组的名称。

  7. 描述框中,输入新数据库集群参数组的描述。

  8. 选择创建

要创建数据库集群参数组,请使用 Amazon CLI create-db-cluster-parameter-group 命令。

以下示例为 RDS for MySQL 版本 8.0 创建名为 mydbclusterparametergroup 的数据库集群参数组,其说明为“我的新集群参数组”。

包括以下必需参数:

  • --db-cluster-parameter-group-name

  • --db-parameter-group-family

  • --description

要列出所有可用的参数组系列,请使用以下命令:

aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
注意

输出包含重复项。

对于 Linux、macOS 或 Unix:

aws rds create-db-cluster-parameter-group \ --db-cluster-parameter-group-name mydbclusterparametergroup \ --db-parameter-group-family mysql8.0 \ --description "My new cluster parameter group"

对于 Windows:

aws rds create-db-cluster-parameter-group ^ --db-cluster-parameter-group-name mydbclusterparametergroup ^ --db-parameter-group-family mysql8.0 ^ --description "My new cluster parameter group"

此命令生成类似于下述信息的输出:

{ "DBClusterParameterGroup": { "DBClusterParameterGroupName": "mydbclusterparametergroup", "DBParameterGroupFamily": "mysql8.0", "Description": "My new cluster parameter group", "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup2" } }

要创建数据库集群参数组,请使用 RDS API CreateDBClusterParameterGroup 操作。

包括以下必需参数:

  • DBClusterParameterGroupName

  • DBParameterGroupFamily

  • Description

修改数据库集群参数组中的参数

您可以修改客户创建的数据库集群参数组中的参数值。您无法更改默认数据库集群参数组中的参数值。对客户创建的数据库集群参数组中的参数所做的更改将应用于与此数据库集群参数组关联的所有数据库集群。

修改数据库集群参数组
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择参数组

  3. 在此列表中,选择要修改的参数组。

  4. 对于 Parameter group actions (参数组操作),选择 Edit (编辑)

  5. 更改要修改的参数的值。您可使用对话框右上方的箭头键滚动参数。

    您无法更改默认参数组中的值。

  6. 选择 Save changes(保存更改)

  7. 重启集群中的主(写入器)数据库实例以对其应用更改。

  8. 然后,重启读取器数据库实例以对其应用更改。

要修改数据库集群参数组,请使用带以下必需参数的 Amazon CLI modify-db-cluster-parameter-group 命令:

  • --db-cluster-parameter-group-name

  • --parameters

以下示例修改了名为 mydbclusterparametergroup 的数据库集群参数组的 server_audit_loggingserver_audit_logs_upload 值。

对于 Linux、macOS 或 Unix:

aws rds modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name mydbclusterparametergroup \ --parameters "ParameterName=server_audit_logging,ParameterValue=1,ApplyMethod=immediate" \ "ParameterName=server_audit_logs_upload,ParameterValue=1,ApplyMethod=immediate"

对于 Windows:

aws rds modify-db-cluster-parameter-group ^ --db-cluster-parameter-group-name mydbclusterparametergroup ^ --parameters "ParameterName=server_audit_logging,ParameterValue=1,ApplyMethod=immediate" ^ "ParameterName=server_audit_logs_upload,ParameterValue=1,ApplyMethod=immediate"

该命令产生类似下面的输出:

DBCLUSTERPARAMETERGROUP mydbclusterparametergroup

要修改数据库集群参数组,请使用带以下必需参数的 RDS API ModifyDBClusterParameterGroup 命令:

  • DBClusterParameterGroupName

  • Parameters

重置数据库集群参数组中的参数

您可以在客户创建的数据库集群参数组中将参数重置为其默认值。对客户创建的数据库集群参数组中的参数所做的更改将应用于与此数据库集群参数组关联的所有数据库集群。

注意

在默认数据库集群参数组中,参数始终设置为默认值。

将数据库集群参数组中的参数重置为其默认值
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择参数组

  3. 在列表中,选择参数组。

  4. 对于 Parameter group actions (参数组操作),选择 Edit (编辑)

  5. 选择要重置为默认值的参数。您可使用对话框右上方的箭头键滚动参数。

    您无法重置默认参数组中的值。

  6. 选择重置,然后通过选择重置参数进行确认。

  7. 重新启动数据库集群中的主数据库实例,以将更改应用于数据库集群中的所有数据库实例。

要将数据库集群参数组中的参数重置为其默认值,请使用带以下必要选项的 Amazon CLI reset-db-cluster-parameter-group 命令:--db-cluster-parameter-group-name

要重置数据库集群参数组中的所有参数,请指定 --reset-all-parameters 选项。要重置特定参数,请指定 --parameters 选项。

以下示例将名为 mydbparametergroup 的数据库参数组中的所有参数重置为其默认值。

对于 Linux、macOS 或 Unix:

aws rds reset-db-cluster-parameter-group \ --db-cluster-parameter-group-name mydbparametergroup \ --reset-all-parameters

对于 Windows:

aws rds reset-db-cluster-parameter-group ^ --db-cluster-parameter-group-name mydbparametergroup ^ --reset-all-parameters

以下示例展示了在名为 mydbclusterparametergroup 的数据库集群参数组中将 server_audit_loggingserver_audit_logs_upload 重置为其默认值。

对于 Linux、macOS 或 Unix:

aws rds reset-db-cluster-parameter-group \ --db-cluster-parameter-group-name mydbclusterparametergroup \ --parameters "ParameterName=server_audit_logging,ApplyMethod=immediate" \ "ParameterName=server_audit_logs_upload,ApplyMethod=immediate"

对于 Windows:

aws rds reset-db-cluster-parameter-group ^ --db-cluster-parameter-group-name mydbclusterparametergroup ^ --parameters "ParameterName=server_audit_logging,ParameterValue=1,ApplyMethod=immediate" ^ "ParameterName=server_audit_logs_upload,ParameterValue=1,ApplyMethod=immediate"

该命令产生类似下面的输出:

DBClusterParameterGroupName mydbclusterparametergroup

要将数据库集群参数组中的参数重置为其默认值,请使用带以下必需参数的 RDS API ResetDBClusterParameterGroup 命令:DBClusterParameterGroupName

要重置数据库集群参数组中的所有参数,请将 ResetAllParameters 参数设置为 true。要重置特定参数,请指定 Parameters 参数。

复制数据库集群参数组

您可以复制您创建的自定义数据库集群参数组。当您已创建一个数据库集群参数组并且想在新的数据库集群参数组中包含该组中的大部分自定义参数和值时,复制参数组是一个方便的解决方案。您可通过使用 Amazon CLI copy-db-cluster-parameter-group 命令或 RDS API CopyDBClusterParameterGroup 操作来复制数据库集群参数组。

复制数据库集群参数组之后,至少等待 5 分钟,然后创建使用该数据库集群参数组的数据库集群。这样,Amazon RDS 就可以在新数据库集群使用参数组之前完全复制此参数组。您可以使用 Amazon RDS 控制台Parameter groups(参数组)页面,或者使用 describe-db-cluster-parameters 命令,以验证是否创建了数据库集群参数组。

注意

您无法复制默认参数组。不过,您可以创建基于默认参数组的新参数组。

您无法将数据库集群参数组复制到其他 Amazon Web Services 账户或 Amazon Web Services 区域。

复制数据库集群参数组
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择参数组

  3. 在列表中,选择要复制的自定义参数组。

  4. 对于 Parameter group actions (参数组操作),选择 Copy (复制)

  5. New DB parameter group identifier (新数据库参数组标识符) 中,输入新参数组的名称。

  6. Description (描述) 中,输入新参数组的描述。

  7. 选择 Copy (复制)

要复制数据库集群参数组,请使用 Amazon CLI copy-db-cluster-parameter-group 命令及以下必要参数:

  • --source-db-cluster-parameter-group-identifier

  • --target-db-cluster-parameter-group-identifier

  • --target-db-cluster-parameter-group-description

以下示例创建一个名为 mygroup2 的新数据库参集群数组,它是数据库集群参数组 mygroup1 的副本。

对于 Linux、macOS 或 Unix:

aws rds copy-db-cluster-parameter-group \ --source-db-cluster-parameter-group-identifier mygroup1 \ --target-db-cluster-parameter-group-identifier mygroup2 \ --target-db-cluster-parameter-group-description "DB parameter group 2"

对于 Windows:

aws rds copy-db-cluster-parameter-group ^ --source-db-cluster-parameter-group-identifier mygroup1 ^ --target-db-cluster-parameter-group-identifier mygroup2 ^ --target-db-cluster-parameter-group-description "DB parameter group 2"

要复制数据库集群参数组,请将 RDS API CopyDBClusterParameterGroup 操作与下列必需参数配合使用:

  • SourceDBClusterParameterGroupIdentifier

  • TargetDBClusterParameterGroupIdentifier

  • TargetDBClusterParameterGroupDescription

列出数据库集群参数组

您可以列出为 Amazon 账户创建的数据库集群参数组。

注意

当您为特定数据库引擎和版本创建数据库集群时,将自动从默认参数模板创建默认参数组。这些默认参数组包含首选参数设置,并且无法修改。当您创建自定义参数组时,可以修改参数设置。

列出 Amazon 账户的所有数据库集群参数组
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择参数组

    数据库集群参数组出现在数据库集群参数组类型列表中。

要列出 Amazon 账户的所有数据库集群参数组,请使用 Amazon CLI describe-db-cluster-parameter-groups 命令。

下例列出了 Amazon 账户的所有可用数据库集群参数组。

aws rds describe-db-cluster-parameter-groups

以下示例描述了 mydbclusterparametergroup 参数组。

对于 Linux、macOS 或 Unix:

aws rds describe-db-cluster-parameter-groups \ --db-cluster-parameter-group-name mydbclusterparametergroup

对于 Windows:

aws rds describe-db-cluster-parameter-groups ^ --db-cluster-parameter-group-name mydbclusterparametergroup

此命令会返回类似以下内容的响应:

{ "DBClusterParameterGroups": [ { "DBClusterParameterGroupName": "mydbclusterparametergroup2", "DBParameterGroupFamily": "mysql8.0", "Description": "My new cluster parameter group", "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup" } ] }

要列出 Amazon 账户的所有数据库集群参数组,请使用 RDS API DescribeDBClusterParameterGroups 操作。

查看数据库集群参数组的参数值

您可获得数据库集群参数组内所有参数的列表及它们的值。

查看数据库集群参数组的参数值
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择参数组

    数据库集群参数组出现在数据库集群参数组类型列表中。

  3. 选择数据库集群参数组的名称以查看其参数列表。

要查看数据库集群参数组的参数值,请使用 Amazon CLI describe-db-cluster-parameters 命令及以下必要参数。

  • --db-cluster-parameter-group-name

以下示例以 JSON 格式列出名为 mydbclusterparametergroup 的数据库集群参数组的参数和参数值。

此命令会返回类似以下内容的响应:

aws rds describe-db-cluster-parameters --db-cluster-parameter-group-name mydbclusterparametergroup
{ "Parameters": [ { "ParameterName": "activate_all_roles_on_login", "ParameterValue": "0", "Description": "Automatically set all granted roles as active after the user has authenticated successfully.", "Source": "engine-default", "ApplyType": "dynamic", "DataType": "boolean", "AllowedValues": "0,1", "IsModifiable": true, "ApplyMethod": "pending-reboot", "SupportedEngineModes": [ "provisioned" ] }, { "ParameterName": "allow-suspicious-udfs", "Description": "Controls whether user-defined functions that have only an xxx symbol for the main function can be loaded", "Source": "engine-default", "ApplyType": "static", "DataType": "boolean", "AllowedValues": "0,1", "IsModifiable": false, "ApplyMethod": "pending-reboot", "SupportedEngineModes": [ "provisioned" ] }, ...

要查看数据库集群参数组的参数值,请使用带下列所需参数的 RDS API DescribeDBClusterParameters 命令。

  • DBClusterParameterGroupName

在某些情况下,不显示参数的允许值。这些始终是源为数据库引擎原定设置值的参数。

要查看这些参数的值,可以运行以下 SQL 语句:

  • MySQL:

    -- Show the value of a particular parameter mysql$ SHOW VARIABLES LIKE '%parameter_name%'; -- Show the values of all parameters mysql$ SHOW VARIABLES;
  • PostgreSQL:

    -- Show the value of a particular parameter postgresql=> SHOW parameter_name; -- Show the values of all parameters postgresql=> SHOW ALL;

删除数据库集群参数组

您可以使用 Amazon Web Services Management Console、Amazon CLI 或 RDS API 删除数据库集群参数组。仅当数据库集群参数组未与数据库集群关联时,才能将其删除。

删除参数组
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择参数组

    参数组显示在列表中。

  3. 选择要删除的数据库集群参数组的名称。

  4. 选择操作,然后选择删除

  5. 查看参数组名称,然后选择删除

要删除数据库集群参数组,请使用带以下必需参数的 Amazon CLI delete-db-cluster-parameter-group 命令。

  • --db-parameter-group-name

以下示例删除了名为 mydbparametergroup 的数据库集群参数组。

aws rds delete-db-cluster-parameter-group --db-parameter-group-name mydbparametergroup

要删除数据库集群参数组,请使用带以下必需参数的 RDS API DeleteDBClusterParameterGroup 命令。

  • DBParameterGroupName