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

使用数据库实例中的数据库参数组

数据库实例使用数据库参数组。以下各节介绍配置和管理数据库实例参数组。

创建数据库参数组

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

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

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

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

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

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

创建数据库参数组
  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-parameter-group 命令。以下示例为 8.0 版 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 MySQL8.0 \ --description "My new parameter group"

对于 Windows:

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

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

DBPARAMETERGROUP mydbparametergroup mysql8.0 My new parameter group

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

包括以下必需参数:

  • DBParameterGroupName

  • DBParameterGroupFamily

  • Description

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

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

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

注意

将新数据库参数组与数据库实例关联时,修改后的静态和动态参数仅在数据库实例重新启动后得到应用。但是,如果在将数据库参数组与数据库实例关联之后修改数据库参数组中的动态参数,这些更改将立即得到应用,而无需重启。

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

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

  3. 选择修改。将显示修改数据库实例页面。

  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

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

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

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


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

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

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

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

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

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

  6. 选择保存更改

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

  • --db-parameter-group-name

  • --parameters

以下示例修改了名为 mydbparametergroup 的数据库参数组的 max_connectionsmax_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

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

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

使用控制台时,您可以将特定参数重置为其原定设置值。但是,您无法轻松地一次性重置数据库参数组中的所有参数。使用 Amazon CLI 或 RDS API 时,您可以将特定参数重置为其原定设置值。您还可以一次性重置数据库参数组中的所有参数。

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


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

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

将数据库参数组中的参数重置为默认值的方法
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/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 参数。

复制数据库参数组

您可以复制您创建的自定义数据库参数组。复制参数组可能是一种方便的解决方案。例如,您创建了一个数据库参数组,并且想在新的数据库参数组中包含其大部分自定义参数和值。您可以使用 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 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-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 账户创建的数据库参数组。

注意

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

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

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

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

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

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

aws rds describe-db-parameter-groups

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

DBPARAMETERGROUP default.mysql8.0 mysql8.0 Default parameter group for MySQL8.0 DBPARAMETERGROUP mydbparametergroup mysql8.0 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 mysql8.0 My new parameter group

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

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

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

查看数据库参数组的参数值
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/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

删除数据库参数组

您可以使用 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-parameter-group 命令。

  • --db-parameter-group-name

以下示例删除一个名为 mydbparametergroup 的数据库参数组。

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

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

  • DBParameterGroupName