Amazon Aurora
Aurora 用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

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

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

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

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

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

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

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

  • 当您更改动态参数并保存参数组时,将立即应用更改,而不管立即应用设置如何。更改静态参数并保存数据库参数组时,参数更改将在手动重启数据库实例后生效。您可通过使用 RDS 控制台或明确调用 RebootDbInstance API 操作来重启数据库实例(没有故障转移,前提是数据库实例处于多可用区部署中)。在静态参数更改后重启关联的数据库实例的要求可帮助缓解影响 API 调用的参数误配置的风险,例如调用 ModifyDBInstance 来更改数据库实例类或扩展存储。

    如果数据库实例未使用对其关联的数据库参数组所做的最新更改,则 AWS 管理控制台 将显示状态为 pending-reboot 的数据库参数组。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 集群中的各个数据库实例中更改的各个方面(如内存使用率)相关。例如,集群通常包含具有不同 AWS 实例类的数据库实例。

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

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

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

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

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

数据库引擎 参数

Aurora MySQL

请参阅 Aurora MySQL 参数

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

Aurora PostgreSQL

请参阅 Amazon Aurora PostgreSQL 参数

创建数据库参数组

您可以使用 AWS 管理控制台、AWS CLI 或 RDS API 创建新数据库参数组。

控制台

创建数据库参数组

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

  3. 选择创建参数组

    将显示创建参数组窗口。

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

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

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

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

  8. 选择 Create

AWS CLI

要创建数据库参数组,请使用 AWS 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、OS X 或 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

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

包括以下必需参数:

  • DBParameterGroupName

  • DBParameterGroupFamily

  • Description

创建数据库集群参数组

您可以使用 AWS 管理控制台、AWS CLI 或 RDS API 创建新数据库集群参数组。

控制台

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

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

  3. 选择创建参数组

    将显示创建参数组窗口。

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

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

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

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

  8. 选择 Create

AWS CLI

使用 AWS 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、OS X 或 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

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

包括以下必需参数:

  • DBClusterParameterGroupName

  • DBParameterGroupFamily

  • Description

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

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

如果您更改一个参数值,则所做更改的应用时间将由该参数的类型决定。对动态参数所做的更改将立即应用。对静态参数所做的更改需要在重启与数据库参数组关联的数据库实例后才生效。若要确定参数的类型,请使用列出数据库参数组部分中显示的过程之一来列出参数组中的参数。

RDS 控制台在 Configuration (配置) 选项卡上显示与数据库实例关联的数据库参数组的状态。例如,如果数据库实例未使用对其关联的数据库参数组所做的最新更改,则 RDS 控制台将显示状态为 pending-reboot 的数据库参数组。要向该数据库实例应用最新的参数更改,请手动重启数据库实例。


				参数更改等待重启方案
控制台

修改数据库参数组

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

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

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

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

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

  6. 选择 Save changes

AWS CLI

要修改数据库参数组,请使用带下列必需参数的 AWS CLI modify-db-parameter-group 命令:

  • --db-parameter-group-name

  • --parameters

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

注意

Amazon RDS 不支持为单一参数传送用逗号分隔的多个参数值。

针对 Linux、OS X 或 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

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

  • DBParameterGroupName

  • Parameters

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

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

如果您更改一个参数值,则所做更改的应用时间将由该参数的类型决定。对动态参数所做的更改将立即应用。对静态参数所做的更改需要在重新引导与使用数据库集群参数组的数据库集群关联的数据库实例后才生效。若要确定参数的类型,请使用列出数据库参数组部分中显示的过程之一来列出参数组中的参数。

RDS 控制台显示与数据库实例关联的数据库集群参数组的状态。例如,如果数据库实例未使用对其关联的数据库集群参数组所做的最新更改,则 RDS 控制台将显示状态为 pending-reboot 的数据库集群参数组。您将需要手动重启数据库实例,以使最新的参数更改对该数据库实例生效。


				集群参数更改等待重启方案
控制台

修改数据库集群参数组

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

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

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

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

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

  6. 选择 Save changes

AWS CLI

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

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

  • --parameters

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

注意

Amazon RDS 不支持为单一参数传送用逗号分隔的多个参数值。

针对 Linux、OS X 或 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

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

  • DBClusterParameterGroupName

  • Parameters

复制数据库参数组

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

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

注意

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

控制台

复制数据库参数组

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

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

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

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

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

  7. 选择 Copy (复制)

AWS CLI

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

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

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

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

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

针对 Linux、OS X 或 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

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

  • SourceDBParameterGroupIdentifier

  • TargetDBParameterGroupIdentifier

  • TargetDBParameterGroupDescription

复制数据库集群参数组

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

复制数据库集群参数组之后,请至少等待 5 分钟,再创建使用该数据库集群参数组作为默认参数组的第一个数据库集群。这样,在将参数组用作新数据库集群的默认设置之前,Amazon RDS 可以完成全部复制操作。您可以使用 Amazon RDS 控制台参数组选项或使用 describe-db-cluster-parameters 命令来验证是否已创建数据库集群参数组。

注意

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

控制台

复制数据库集群参数组

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

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

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

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

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

  7. 选择 Copy (复制)

AWS CLI

要复制数据库集群参数组,请使用带下列所需参数的 AWS 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、OS X 或 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

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

  • SourceDBClusterParameterGroupIdentifier

  • TargetDBClusterParameterGroupIdentifier

  • TargetDBClusterParameterGroupDescription

列出数据库参数组

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

注意

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

控制台

列出 AWS 账户的所有数据库参数组

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

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

AWS CLI

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

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

aws rds describe-db-parameter-groups

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

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

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

针对 Linux、OS X 或 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.5 My new parameter group
RDS API

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

列出数据库集群参数组

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

注意

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

控制台

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

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

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

AWS CLI

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

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

aws rds describe-db-cluster-parameter-groups

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

DBCLUSTERPARAMETERGROUPS arn:aws: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:rds:us-west-2:1234567890:cluster-pg:mydbclusterparametergroup mydbclusterparametergroup aurora5.6 My new cluster parameter group

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

针对 Linux、OS X 或 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:rds:us-west-2:1234567890:cluster-pg:mydbclusterparametergroup mydbclusterparametergroup aurora5.6 My new cluster parameter group
RDS API

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

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

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

控制台

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

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

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

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

AWS CLI

要查看数据库参数组的参数值,请使用带下列必需参数的 AWS 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

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

  • DBParameterGroupName

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

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

控制台

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

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

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

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

AWS CLI

要查看数据库集群参数组的参数值,请使用带下列所需参数的 AWS 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

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

  • DBClusterParameterGroupName

比较参数组

您可以使用 AWS 管理控制台 查看同一数据库引擎和版本在两个参数组之间的区别。

比较两个参数组

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

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

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

    注意

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

数据库参数值

您可以将数据库参数的值指定为以下任何值:

  • 整型常量

  • 数据库参数公式

  • 数据库参数函数

  • 字符串常量

  • 日志表达式(对数函数表示对数底数 2),例如 value={log(DBInstanceClassMemory/8187281418)*1000}

数据库参数公式

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

语法

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

数据库参数公式变量

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

AllocatedStorage

返回数据卷的大小 (计算单位:字节)。

DBInstanceClassMemory

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

EndPointPort

返回连接数据库实例时使用的端口号。

数据库参数公式运算符

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

除法运算符:/

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

语法

dividend / divisor

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

乘法运算符:*

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

语法

expression * expression

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

数据库参数函数

参数自变量可以指定为整数型或者公式。每个函数必须具有至少一个参数。多个参数可通过用逗号分隔的列表指定。列表不能拥有任何空成员,如 argument1argument3。函数名称区分大小写。

注意

AWS CLI 目前不支持数据库参数函数。

IF()

返回一个参数。

语法

IF(argument1, argument2, argument3)

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

GREATEST()

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

语法

GREATEST(argument1, argument2,...argumentn)

返回整数。

LEAST()

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

语法

LEAST(argument1, argument2,...argumentn)

返回整数。

SUM()

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

语法

SUM(argument1, argument2,...argumentn)

返回整数。

数据库参数值示例

这些示例显示了将公式和函数作为数据库参数值的情况。

警告

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

您可以在 Aurora MySQL table_definition_cache 参数值中指定 LEAST() 函数,以便将存储在定义缓存中的表定义的数量设置为 DBInstanceClassMemory/393040 或 20,000 中较小的值。

LEAST({DBInstanceClassMemory/393040}, 20000)