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

使用数据库集群参数组

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

Amazon Aurora 数据库集群和数据库实例参数

Aurora 使用二级的配置设置系统,如下所示:

  • 数据库集群参数组中的参数适用于数据库集群中的每个数据库实例。您的数据存储在 Aurora 共享存储子系统中。因此,与表数据的物理布局相关的所有参数对于 Aurora 集群中的所有数据库实例都必须是相同的。同样,由于 Aurora 数据库实例通过复制连接,复制设置的所有参数在整个 Aurora 集群中也必须是一致的。

  • 数据库参数组中的参数适用于 Aurora 数据库集群中的单个数据库实例。这些参数与您可以在同一个 Aurora 集群中的各个数据库实例中更改的各个方面(如内存使用率)相关。例如,集群通常包含具有不同 Amazon 实例类的数据库实例。

每个 Aurora 集群与一个数据库集群参数组关联。集群内的每个数据库实例都从该数据库集群参数组继承设置,并与一个数据库参数组关联。创建集群或新数据库实例时,Aurora 会根据指定的数据库引擎和版本分配默认参数组。之后,您可以将参数组更改为您创建的参数组,在这些参数组中您可以编辑参数值。

数据库集群参数组还包括数据库参数组中的所有实例级参数。这些默认项主要用于配置 Aurora Serverless 集群,其只与数据库集群参数组关联,而不与数据库参数组关联。您可以在数据库集群参数组中修改实例级参数设置。然后,Aurora 会将这些设置应用于添加到无服务器集群的每个新数据库实例。要了解有关 Aurora Serverless 集群的配置设置以及您可以修改哪些设置的更多信息,请参阅参数组和 Aurora Serverless v1

对于非无服务器集群,您在数据库集群参数组中修改的任意配置值将覆盖数据库参数组中的默认值。如果您在数据库参数组中编辑对应的值,则这些值将覆盖数据库集群参数组中的设置。

您修改的任何数据库参数设置均优先于数据库集群参数组值,即使您将配置参数更改回其默认值。您可以使用 describe-db-parameters Amazon CLI 命令或 DescribeDBParameters RDS API 查看哪些参数被覆盖。如果您修改了该参数,Source 字段将包含值 user。若要重置一个或多个参数,以使数据库集群参数组的值优先,请使用 reset-db-parameter-group Amazon CLI 命令或 ResetDBParameterGroup RDS API 操作。

Aurora 中可供您使用的数据库集群和数据库实例参数因数据库引擎兼容性而异。

数据库引擎 参数

Aurora MySQL

请参阅 Aurora MySQL 配置参数

对于 Aurora Serverless 集群,请参阅 参数组和 Aurora Serverless v1 中的其他详细信息。

Aurora PostgreSQL

请参阅 Amazon Aurora PostgreSQL 参数

创建数据库集群参数组

您可以使用 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. 类型列表内,选择数据库集群参数组​。

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

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

  8. 选择创建

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

以下示例为 Aurora MySQL 版本 5.7 创建名为 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 aurora-mysql5.7 \ --description "My new cluster parameter group"

对于 Windows:

aws rds create-db-cluster-parameter-group ^ --db-cluster-parameter-group-name mydbclusterparametergroup ^ --db-parameter-group-family aurora-mysql5.7 ^ --description "My new cluster parameter group"

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

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

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

包括以下必需参数:

  • DBClusterParameterGroupName

  • DBParameterGroupFamily

  • Description

关联数据库集群参数组与数据库集群

您可以使用自定义设置创建自己的数据库集群参数组。之后可以使用 Amazon Web Services Management Console、Amazon CLI 或 RDS API 关联数据库集群参数组与数据库集群。在创建或修改数据库集群时可以执行此操作。

有关创建数据库集群参数组的信息,请参阅创建数据库集群参数组。有关创建数据库集群的信息,请参阅创建 Amazon Aurora 数据库集群。有关修改数据库集群的信息,请参阅修改 Amazon Aurora 数据库集群

注意

更改与数据库集群关联的数据库集群参数组后,重新启动集群中的主数据库实例,以将更改应用于集群中的所有数据库实例。

要确定是否必须重启数据库集群的主数据库实例才能应用更改,请运行以下 Amazon CLI 命令:

aws rds describe-db-clusters --db-cluster-identifier db_cluster_identifier

检查 DBClusterParameterGroupStatus 输出中主数据库实例的值。如果值为 pending-reboot,则重启数据库集群的主数据库实例。

关联数据库集群参数组与数据库集群

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

  2. 在导航窗格中,选择 Databases (数据库),然后选择您希望修改的数据库集群。

  3. 选择修改。此时会显示修改数据库集群页面。

  4. 更改数据库集群参数组设置。

  5. 选择继续,查看修改摘要。

    无论修改计划设置如何,系统都会立即应用更改。

  6. 在确认页面上,检查您的更改。如果更改正确无误,请选择修改集群以保存更改。

    或者,选择 Back (返回) 编辑您的更改,或者选择 Cancel (取消) 取消更改。

要关联数据库集群参数组与数据库集群,请使用 Amazon CLI modify-db-cluster 命令及以下选项:

  • --db-cluster-name

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

以下示例关联了 mydbclpg 数据库参数组与 mydbcluster 数据库集群。

对于 Linux、macOS 或 Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --db-cluster-parameter-group-name mydbclpg

对于 Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --db-cluster-parameter-group-name mydbclpg

要关联数据库集群参数组与数据库集群,请使用 RDS API ModifyDBCluster 操作及以下参数:

  • DBClusterIdentifier

  • DBClusterParameterGroupName

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

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

修改数据库集群参数组

  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 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 控制台参数组选项或使用 describe-db-cluster-parameters 命令来验证是否已创建数据库集群参数组。

注意

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

复制数据库集群参数组

  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": "mydbclusterparametergroup", "DBParameterGroupFamily": "aurora-mysql5.7", "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": "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" ] }, { "ParameterName": "aurora_binlog_read_buffer_size", "ParameterValue": "5242880", "Description": "Read buffer size used by master dump thread when the switch aurora_binlog_use_large_read_buffer is ON.", "Source": "engine-default", "ApplyType": "dynamic", "DataType": "integer", "AllowedValues": "8192-536870912", "IsModifiable": true, "ApplyMethod": "pending-reboot", "SupportedEngineModes": [ "provisioned" ] }, ...

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

  • DBClusterParameterGroupName