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

使用数据库参数组和数据库集群参数组

您通过将数据库实例和 Aurora 数据库集群与参数组关联来管理您的数据库引擎配置。Amazon RDS 使用适用于新创建的数据库实例和 Aurora 数据库集群的默认设置定义参数组。

重要

您可以使用自定义设置定义您自己的参数组。然后,您可以修改数据库实例和 Aurora 集群来使用您自己的参数组。

有关修改数据库集群或数据库实例的信息,请参阅 修改 Amazon Aurora 数据库集群

数据库参数组就像是引擎配置值的容器,这些值可应用于一个或多个数据库实例。数据库参数组对于 Amazon RDS 和 Aurora 中的数据库实例均适用。这些配置设置适用于在 Aurora 集群内的数据库实例之间可能不同的属性,如内存缓冲区的大小。

数据库集群参数组就像是引擎配置值的容器,这些值可应用于 Aurora 数据库集群中的每个数据库实例。例如,Aurora 共享存储模型需要 Aurora 集群中的每个数据库实例为参数(如 innodb_file_per_table)使用相同设置。因此,影响物理存储布局的参数是集群参数组的一部分。数据库集群参数组还包括所有实例级参数的默认值。

如果创建的数据库实例未指定数据库参数组,数据库实例将使用默认的数据库参数组。同样,如果您在创建 Aurora 数据库集群时未指定数据库集群参数组,数据库集群将使用默认数据库集群参数组。 每个默认参数组包含数据库引擎默认值和 Amazon RDS 系统默认值,具体根据引擎、计算等级及实例的分配存储空间而定。默认参数组的参数设置无法修改。您可以创建在其中选择您自己的参数设置的您自己的参数组。并非所有数据库引擎参数都可在您创建的参数组中进行更改。

如果您想要使用自己的参数组,需要创建新参数组,然后修改您需要修改的参数。然后,修改数据库实例或数据库集群来使用新参数组。如果您更新了数据库参数组内的参数,更改将应用于与该参数组关联的所有数据库实例。同样,如果您更新了数据库参数组内的参数,更改将应用于与该数据库集群参数组关联的所有 Aurora 集群。

您还可使用 Amazon CLI copy-db-parameter-group 命令复制现有数据库参数组。您还可使用 Amazon CLI copy-db-cluster-parameter-group 命令复制现有数据库集群参数组。 如果您希望在新参数组内包含大多数现有参数组的自定义参数和值,复制参数组可能很方便。

以下是使用参数组中参数的几个要点:

  • 当您更改动态参数并保存参数组时,将立即应用更改,而不管立即应用设置如何。更改静态参数并保存数据库参数组时,参数更改将在手动重启数据库实例后生效。您可以使用 RDS 控制台通过调用 reboot-db-instance CLI 命令或 RebootDbInstance API 操作来重启数据库实例。在静态参数更改后重启关联的数据库实例的要求可帮助缓解影响 API 调用的参数误配置的风险,例如调用 ModifyDBInstance 来更改数据库实例类或扩展存储。

    如果数据库实例未使用对其关联的数据库参数组所做的最新更改,则 Amazon Web Services Management Console 将显示状态为 pending-reboot 的数据库参数组。pending-reboot 参数组状态不会在下一个维护时段期间导致自动重启。要向该数据库实例应用最新的参数更改,请手动重启数据库实例。

  • 当您更改与数据库实例关联的数据库参数组时,必须在数据库实例可以使用新的数据库参数组之前手动重启实例。有关更改数据库集群参数组的信息,请参阅 修改 Amazon Aurora 数据库集群

    注意

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

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

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

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

  • 可以将参数值指定为整数,也可以将其指定为通过公式、变量、函数和运算符创建的整数表达式。函数可以包含数学对数表达式。有关更多信息,请参阅指定数据库参数

  • 在创建数据库实例以及在数据库实例中创建数据库之前,在参数组中设置与字符集或数据库排序规则相关的任何参数。这将确保数据库实例中的默认数据库以及新数据库使用您指定的字符集和排序规则值。如果您更改数据库实例的字符集或排序规则参数,则参数更改不会应用于现有数据库。

    您可使用 ALTER DATABASE 命令更改现有数据库的字符集或排序规则值,例如:

    ALTER DATABASE database_name CHARACTER SET character_set_name COLLATE collation;
  • 在参数组内设置参数不恰当可能会产生意外的不利影响,包括性能降低和系统不稳定。修改数据库参数时应始终保持谨慎,且修改参数组前要备份数据。将参数组更改应用于生产数据库实例前,请在测试数据库实例上试用这些参数组设置更改。

  • 对于 Aurora 全局数据库,您可以为各个 Aurora 集群指定不同的配置设置。请确保设置足够相似,以便您在将辅助集群提升到主集群时生成一致的行为。例如,对于跨 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.amazonaws.cn/rds/

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

  3. 选择创建参数组

    将显示创建参数组窗口。

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

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

  6. Group name (组名) 框中,输入新数据库参数组的名称。

  7. Description (描述) 框中,输入新数据库参数组的描述。

  8. 选择 Create

要创建数据库参数组,请使用 Amazon CLI create-db-parameter-group 命令。以下示例为 5.6 版 MySQL 创建名为 mydbparametergroup 的数据库参数组,其说明为我的新参数组

包括以下必需参数:

  • --db-parameter-group-name

  • --db-parameter-group-family

  • --description

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

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

输出包含重复项。

对于 Linux、macOS 或 Unix:

aws rds create-db-parameter-group \ --db-parameter-group-name mydbparametergroup \ --db-parameter-group-family aurora5.6 \ --description "My new parameter group"

对于 Windows:

aws rds create-db-parameter-group ^ --db-parameter-group-name mydbparametergroup ^ --db-parameter-group-family aurora5.6 ^ --description "My new parameter group"

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

DBPARAMETERGROUP mydbparametergroup aurora5.6 My new parameter group

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

包括以下必需参数:

  • DBParameterGroupName

  • DBParameterGroupFamily

  • Description

创建数据库集群参数组

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

若要创建数据库集群参数组

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

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

  3. 选择创建参数组

    将显示创建参数组窗口。

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

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

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

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

  8. 选择 Create

使用 Amazon CLI create-db-cluster-parameter-group 命令可以创建数据库集群参数组。以下示例为 5.6 版 MySQL 创建名为 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 aurora5.6 \ --description "My new cluster parameter group"

对于 Windows:

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

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

DBCLUSTERPARAMETERGROUP mydbclusterparametergroup mysql5.6 My cluster new parameter group

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

包括以下必需参数:

  • DBClusterParameterGroupName

  • DBParameterGroupFamily

  • Description

将数据库参数组与数据库实例关联

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

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

注意

当您更改与数据库实例关联的数据库参数组时,必须在数据库实例可以使用新的数据库参数组之前手动重启实例。

关联数据库参数组与数据库实例

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

  2. 在导航窗格中,选择 Databases (数据库),然后选择要修改的数据库实例。

  3. 选择修改。将显示 Modify DB Instance (修改数据库实例) 页面。

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

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

  6. (可选)选择立即应用以立即应用更改。选择此选项在某些情况下可能导致中断。

  7. 在确认页面上,检查您的更改。如果更改正确无误,请选择 Modify DB Instance(修改数据库实例)保存更改。

    也可以选择 Back 编辑您的更改,或选择 Cancel 取消更改。

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

  • --db-instance-identifier

  • --db-parameter-group-name

以下示例关联了 mydbpg 数据库参数组与 database-1 数据库实例。使用 --apply-immediately 可立即应用更改。使用 --no-apply-immediately 可在下一维护时段内应用更改。

对于 Linux、macOS 或 Unix:

aws rds modify-db-instance \ --db-instance-identifier database-1 \ --db-parameter-group-name mydbpg \ --apply-immediately

对于 Windows:

aws rds modify-db-instance ^ --db-instance-identifier database-1 ^ --db-parameter-group-name mydbpg ^ --apply-immediately

要关联数据库参数组与数据库实例,请使用 RDS API ModifyDBInstance 操作及以下参数:

  • DBInstanceName

  • DBParameterGroupName

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

您可以使用自定义设置创建自己的数据库集群参数组。之后可以使用 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.amazonaws.cn/rds/

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

  3. 选择 Modify。将显示修改数据库集群页面。

  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

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

您可以修改客户创建的数据库参数组中的参数值,但不能更改默认数据库参数组中的参数值。对客户创建的数据库参数组中的参数所做的更改将应用于与此数据库参数组关联的所有数据库实例。

对某些参数的更改将立即应用于数据库实例,而无需重新启动。而对其他一些参数进行的更改,只有在重新启动数据库实例之后,才会应用。RDS 控制台在 Configuration (配置) 选项卡上显示与数据库实例关联的数据库参数组的状态。例如,如果数据库实例未使用对其关联的数据库参数组所做的最新更改,则 RDS 控制台将显示状态为 pending-reboot 的数据库参数组。要向该数据库实例应用最新的参数更改,请手动重启数据库实例。


				参数更改等待重启方案

修改数据库参数组

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

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

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

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

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

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

  6. 选择 Save changes

要修改数据库参数组,请使用 Amazon CLI modify-db-parameter-group 命令及以下必需选项:

  • --db-parameter-group-name

  • --parameters

以下示例修改了名为 max_connectionsmydbparametergroupmax_allowed_packet 的数据库参数组的 值。

对于 Linux、macOS 或 Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name mydbparametergroup \ --parameters "ParameterName=max_connections,ParameterValue=250,ApplyMethod=immediate" \ "ParameterName=max_allowed_packet,ParameterValue=1024,ApplyMethod=immediate"

对于 Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name mydbparametergroup ^ --parameters "ParameterName=max_connections,ParameterValue=250,ApplyMethod=immediate" ^ "ParameterName=max_allowed_packet,ParameterValue=1024,ApplyMethod=immediate"

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

DBPARAMETERGROUP mydbparametergroup

要修改数据库参数组,请使用 RDS API ModifyDBParameterGroup 操作及以下必需参数:

  • DBParameterGroupName

  • Parameters

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

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

修改数据库集群参数组

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

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

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

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

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

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

  6. 选择 Save changes

  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

将数据库参数组中的参数重置为默认值

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

使用控制台时,您可以将特定参数重置为默认值,但不能轻松地一次性重置数据库参数组中的所有参数。使用 Amazon CLI 或 RDS API 时,您可以将特定参数重置为默认值,并且可以一次性重置数据库参数组中的所有参数。

对某些参数的更改将立即应用于数据库实例,而无需重新启动。而对其他一些参数进行的更改,只有在重新启动数据库实例之后,才会应用。RDS 控制台在 Configuration (配置) 选项卡上显示与数据库实例关联的数据库参数组的状态。例如,如果数据库实例未使用对其关联的数据库参数组所做的最新更改,则 RDS 控制台将显示状态为 pending-reboot 的数据库参数组。要向该数据库实例应用最新的参数更改,请手动重启数据库实例。


				参数更改等待重启方案
注意

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

将数据库参数组中的参数重置为默认值的方法

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

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

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

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

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

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

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

要重置数据库参数组中的部分或所有参数,请使用带以下必需选项的 Amazon CLI reset-db-parameter-group 命令:--db-parameter-group-name

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

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

对于 Linux、macOS 或 Unix:

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

对于 Windows:

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

以下示例展示了在名为 mydbparametergroup 的数据库参数组中将 max_connectionsmax_allowed_packet 选项重置为各自的默认值。

对于 Linux、macOS 或 Unix:

aws rds reset-db-parameter-group \ --db-parameter-group-name mydbparametergroup \ --parameters "ParameterName=max_connections,ApplyMethod=immediate" \ "ParameterName=max_allowed_packet,ApplyMethod=immediate"

对于 Windows:

aws rds reset-db-parameter-group ^ --db-parameter-group-name mydbparametergroup ^ --parameters "ParameterName=max_connections,ApplyMethod=immediate" ^ "ParameterName=max_allowed_packet,ApplyMethod=immediate"

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

DBParameterGroupName mydbparametergroup

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

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

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

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

注意

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

将数据库集群参数组中的参数重置为其默认值

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

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

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

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

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

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

  6. 选择 Reset (重置),然后选择Reset parameters (重置参数) 进行确认。

  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 Web Services Management Console、Amazon CLI copy-db-parameter-group 命令或 RDS API CopyDBParameterGroup 操作复制数据库参数组。

复制数据库参数组之后,请至少等待 5 分钟,再创建使用该数据库参数组作为默认参数组的第一个数据库实例。这样,在使用参数组前,Amazon RDS 可以完成全部复制操作。这对于在为数据库实例创建默认数据库时十分关键的参数非常重要。示例如 character_set_database 参数定义的默认数据库的字符集。请使用 Amazon RDS 控制台参数组选项或使用 describe-db-parameters 命令来验证是否已创建数据库参数组。

注意

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

目前,您无法将参数组复制到其他 Amazon 区域。

复制数据库参数组

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

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

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

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

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

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

  7. 选择 Copy (复制)

要复制数据库参数组,请使用带下列必需参数的 Amazon CLI copy-db-parameter-group 命令:

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

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

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

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

对于 Linux、macOS 或 Unix:

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

对于 Windows:

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

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

  • SourceDBParameterGroupIdentifier

  • TargetDBParameterGroupIdentifier

  • TargetDBParameterGroupDescription

复制数据库集群参数组

您可以复制您创建的自定义数据库集群参数组。当您已创建一个数据库集群参数组并且想在新的数据库集群参数组中包含该组中的大部分自定义参数和值时,复制参数组是一个方便的解决方案。您可通过使用 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.amazonaws.cn/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.amazonaws.cn/rds/

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

    数据库参数组将显示在列表中。

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

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

aws rds describe-db-parameter-groups

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

DBPARAMETERGROUP default.mysql5.6 mysql5.6 Default parameter group for MySQL5.6 DBPARAMETERGROUP mydbparametergroup mysql5.6 My new parameter group

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

对于 Linux、macOS 或 Unix:

aws rds describe-db-parameter-groups \ --db-parameter-group-name mydbparamgroup1

对于 Windows:

aws rds describe-db-parameter-groups ^ --db-parameter-group-name mydbparamgroup1

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

DBPARAMETERGROUP mydbparametergroup1 mysql5.6 My new parameter group

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

列出数据库集群参数组

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

注意

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

列出 Amazon 账户的所有数据库集群参数组

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

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

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

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

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

aws rds describe-db-cluster-parameter-groups

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

DBCLUSTERPARAMETERGROUPS arn:aws-cn:rds:us-west-2:1234567890:cluster-pg:default.aurora5.6 default.aurora5.6 aurora5.6 Default cluster parameter group for aurora5.6 DBCLUSTERPARAMETERGROUPS arn:aws-cn:rds:us-west-2:1234567890:cluster-pg:mydbclusterparametergroup mydbclusterparametergroup aurora5.6 My new cluster parameter group

以下示例描述了 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 arn:aws-cn:rds:us-west-2:1234567890:cluster-pg:mydbclusterparametergroup mydbclusterparametergroup aurora5.6 My new cluster parameter group

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

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

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

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

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

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

    数据库参数组将显示在列表中。

  3. 选择参数组名称以查看其参数列表。

要查看数据库参数组的参数值,请使用带下列必需参数的 Amazon CLI describe-db-parameters 命令。

  • --db-parameter-group-name

以下示例列出名为 mydbparametergroup 的数据库参数组的参数和参数值。

aws rds describe-db-parameters --db-parameter-group-name mydbparametergroup

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

DBPARAMETER Parameter Name Parameter Value Source Data Type Apply Type Is Modifiable DBPARAMETER allow-suspicious-udfs engine-default boolean static false DBPARAMETER auto_increment_increment engine-default integer dynamic true DBPARAMETER auto_increment_offset engine-default integer dynamic true DBPARAMETER binlog_cache_size 32768 system integer dynamic true DBPARAMETER socket /tmp/mysql.sock system string static false

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

  • DBParameterGroupName

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

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

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

  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/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": [ { "ApplyMethod": "pending-reboot", "Description": "Controls whether user-defined functions that have only an xxx symbol for the main function can be loaded", "DataType": "boolean", "AllowedValues": "0,1", "SupportedEngineModes": [ "provisioned" ], "Source": "engine-default", "IsModifiable": false, "ParameterName": "allow-suspicious-udfs", "ApplyType": "static" }, { "ApplyMethod": "pending-reboot", "Description": "Enables new features in the Aurora engine.", "DataType": "boolean", "IsModifiable": true, "AllowedValues": "0,1", "SupportedEngineModes": [ "provisioned" ], "Source": "engine-default", "ParameterValue": "0", "ParameterName": "aurora_lab_mode", "ApplyType": "static" }, ...

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

aws rds describe-db-cluster-parameters --db-cluster-parameter-group-name mydbclusterparametergroup --output text

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

PARAMETERS 0,1 pending-reboot static boolean Controls whether user-defined functions that have only an xxx symbol for the main function can be loaded False allow-suspicious-udfs engine-default SUPPORTEDENGINEMODES provisioned PARAMETERS 0,1 pending-reboot static boolean Enables new features in the Aurora engine. True aurora_lab_mode 0 engine-default SUPPORTEDENGINEMODES provisioned ...

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

  • DBClusterParameterGroupName

比较参数组

您可以使用 Amazon Web Services Management Console 查看同一数据库引擎和版本在两个参数组之间的区别。

比较两个参数组

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

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

  3. 在此列表中,选择要比较的两个参数组。

  4. 对于 Parameter group actions (参数组操作),选择 Compare (比较)

    注意

    如果您选择的项目不等效,则不能选择 Compare (比较)。例如,您无法比较 MySQL 5.6 和 MySQL 5.7 参数组。您无法比较数据库参数组和 Aurora 数据库集群参数组。

指定数据库参数

数据库参数类型包括:

  • integer

  • Boolean

  • 字符串

  • long

  • double

  • timestamp

  • 其他定义的数据类型的对象

  • 整数、布尔值、字符串、long、double、时间戳或对象类型的值的数组

您还可以使用表达式、公式和函数指定整数和布尔数据库参数。

数据库参数公式

数据库参数公式是一种可解析为整数值或布尔值的表达式。可以将表达式用大括号括起来:{}。可以为数据库参数值使用公式,也可以将公式用作数据库参数函数的参数。

Syntax
{FormulaVariable} {FormulaVariable*Integer} {FormulaVariable*Integer/Integer} {FormulaVariable/Integer}

数据库参数公式变量

每个公式变量会返回一个整数或布尔值。变量的名称是区分大小写的。

AllocatedStorage

返回一个整数,它表示数据卷的大小(以字节为单位)。

DBInstanceClassMemory

返回分配给与当前数据库实例相关联的数据库实例类的内存字节的整数,已减去管理实例的 RDS 进程所占用的内存。

EndPointPort

返回一个整数,它表示连接到数据库实例时使用的端口。

数据库参数公式运算符

数据库参数公式支持两个运算符:除法和乘法。

除法运算符:/

用除数除以被除数,返回整数型商。商中的小数不四舍五入,直接截断。

Syntax

dividend / divisor

被除数和除数参数必须是整数型表达式。

乘法运算符:*

将表达式乘以表达式,返回表达式的乘积。表达式中的小数不四舍五入,直接截断。

Syntax

expression * expression

两个表达式必须都是整数型。

数据库参数函数

您可以将数据库参数函数的参数指定为整数或公式。每个函数必须具有至少一个参数。将多个参数指定为逗号分隔的列表。列表不能拥有任何空成员,如 argument1argument3。函数名称区分大小写。

IF

返回一个参数。

语法

IF(argument1, argument2, argument3)

如果第一个参数的计算结果为 true,则返回第二个参数。否则返回第三个参数。

GREATEST

返回整数型或者参数公式列表中最大的值。

Syntax

GREATEST(argument1, argument2,...argumentn)

返回整数。

LEAST

返回整数型或者参数公式列表中最小的值。

Syntax

LEAST(argument1, argument2,...argumentn)

返回整数。

SUM

添加指定整数型或者参数公式的值。

Syntax

SUM(argument1, argument2,...argumentn)

返回整数。

数据库参数日志表达式

您可以为日志表达式设置整数数据库参数值。可以将表达式用大括号括起来:{}。例如:

{log(DBInstanceClassMemory/8187281418)*1000}

log 函数表示日志基数 2。此示例还使用了 DBInstanceClassMemory 公式变量。请参阅 数据库参数公式变量

数据库参数值示例

这些示例展示了如何使用公式、函数和表达式来表达数据库参数的值。

注意

目前,仅在控制台中支持数据库参数函数,Amazon CLI 中不支持。

警告

在数据库参数组内设置参数不当可能会产生意外的不利影响。可能包括性能下降和系统不稳定。修改数据库参数时应保持谨慎,且修改数据库参数组前要备份数据。将参数组更改应用到生产数据库实例前,请在使用时间点还原创建的测试数据库实例上试用这些参数组更改。

例 使用数据库参数函数 LEAST

您可以指定 Aurora MySQL table_definition_cache 参数值 中的 LEAST 函数。使用它可以将可存储在定义缓存中的表定义的数量设置为 DBInstanceClassMemory/393040 或 20000 中的较小值。

LEAST({DBInstanceClassMemory/393040}, 20000)