使用数据库参数组
数据库实例使用数据库参数组。以下各节介绍配置和管理数据库实例参数组。
创建数据库参数组
您可以使用 AWS Management Console、AWS CLI 或 RDS API 创建新数据库参数组。
以下限制适用于数据库参数组名称:
-
名称必须为 1 到 255 个字母、数字或连字符。
原定设置参数组名称可以包含句点,例如
default.mysql8.0
。但是,自定义参数组名称不能包含句点。 -
第一个字符必须是字母。
-
名称不能以连字符结束,也不能包含两个连续的连字符。
创建数据库参数组
-
登录AWS Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择参数组。
-
选择创建参数组。
将显示创建参数组窗口。
-
在参数组系列列表中,选择一个数据库参数组系列。
-
在类型列表内,选择数据库参数组。
-
在组名框中,输入新数据库参数组的名称。
-
在描述框中,输入新数据库参数组的描述。
-
选择创建。
要创建数据库参数组,请使用 AWS 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-familyMySQL8.0
\ --description"My new parameter group"
对于 Windows:
aws rds create-db-parameter-group ^ --db-parameter-group-name
mydbparametergroup
^ --db-parameter-group-familyMySQL8.0
^ --description"My new parameter group"
此命令生成类似于下述信息的输出:
DBPARAMETERGROUP mydbparametergroup mysql8.0 My new parameter group
要创建数据库参数组,请使用 RDS API CreateDBParameterGroup
操作。
包括以下必需参数:
-
DBParameterGroupName
-
DBParameterGroupFamily
-
Description
将数据库参数组与数据库实例关联
您可以使用自定义设置创建自己的数据库参数组。之后可以使用 AWS Management Console、AWS CLI 或 RDS API 关联数据库参数组与数据库实例。在创建或修改数据库实例时可以执行此操作。
有关创建数据库参数组的信息,请参阅创建数据库参数组。有关创建数据库实例的信息,请参阅。创建 Amazon RDS 数据库实例有关修改数据库实例的信息,请参阅修改 Amazon RDS 数据库实例。
注意
将新数据库参数组与数据库实例关联时,修改后的静态和动态参数仅在数据库实例重新启动后得到应用。但是,如果在将数据库参数组与数据库实例关联之后修改数据库参数组中的动态参数,这些更改将立即得到应用,而无需重启。
关联数据库参数组与数据库实例
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择数据库,然后选择要修改的数据库实例。
-
选择修改。将显示 Modify DB Instance (修改数据库实例) 页面。
-
更改数据库参数组设置。
-
选择继续,查看修改摘要。
-
(可选)选择立即应用以立即应用更改。选择此选项在某些情况下可能导致中断。有关更多信息,请参阅使用“立即应用”设置。
-
在确认页面上,检查您的更改。如果更改正确无误,请选择 Modify DB Instance(修改数据库实例)保存更改。
也可以选择 Back (返回) 编辑您的更改,或选择 Cancel (取消) 取消更改。
要关联数据库参数组与数据库实例,请使用 AWS 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-namemydbpg
\--apply-immediately
对于 Windows:
aws rds modify-db-instance ^ --db-instance-identifier
database-1
^ --db-parameter-group-namemydbpg
^--apply-immediately
要关联数据库参数组与数据库实例,请使用 RDS API ModifyDBInstance
操作及以下参数:
-
DBInstanceName
-
DBParameterGroupName
修改数据库参数组中的参数
您可以修改客户创建的数据库参数组中的参数值,但不能更改默认数据库参数组中的参数值。对客户创建的数据库参数组中的参数所做的更改将应用于与此数据库参数组关联的所有数据库实例。
对某些参数的更改将立即应用于数据库实例,而无需重新启动。而对其他一些参数进行的更改,只有在重新启动数据库实例之后,才会应用。RDS 控制台在 Configuration (配置) 选项卡上显示与数据库实例关联的数据库参数组的状态。例如,假设数据库实例未使用对其关联的数据库参数组所做的最新更改。如果是这样,RDS 控制台将显示状态为 pending-reboot(待重启)的数据库参数组。要向该数据库实例应用最新的参数更改,请手动重启数据库实例。

修改数据库参数组
-
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择参数组。
-
在此列表中,选择要修改的参数组。
-
对于 Parameter group actions (参数组操作),选择 Edit (编辑)。
-
更改要修改的参数的值。您可使用对话框右上方的箭头键滚动参数。
您无法更改默认参数组中的值。
-
选择保存更改。
要修改数据库参数组,请使用 AWS CLI modify-db-parameter-group
命令及以下必需选项:
-
--db-parameter-group-name
-
--parameters
以下示例修改了名为 mydbparametergroup 的数据库参数组的 max_connections
和 max_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
将数据库参数组中的参数重置为默认值
您可以将客户创建的数据库参数组中的参数值重置为默认值。对客户创建的数据库参数组中的参数所做的更改将应用于与此数据库参数组关联的所有数据库实例。
使用控制台时,您可以将特定参数重置为其原定设置值。但是,您无法轻松地一次性重置数据库参数组中的所有参数。使用 AWS CLI 或 RDS API 时,您可以将特定参数重置为其原定设置值。您还可以一次性重置数据库参数组中的所有参数。
对某些参数的更改将立即应用于数据库实例,而无需重新启动。而对其他一些参数进行的更改,只有在重新启动数据库实例之后,才会应用。RDS 控制台在 Configuration (配置) 选项卡上显示与数据库实例关联的数据库参数组的状态。例如,假设数据库实例未使用对其关联的数据库参数组所做的最新更改。如果是这样,RDS 控制台将显示状态为 pending-reboot(待重启)的数据库参数组。要向该数据库实例应用最新的参数更改,请手动重启数据库实例。

注意
在默认数据库参数组中,参数始终设置为默认值。
将数据库参数组中的参数重置为默认值的方法
-
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择参数组。
-
在列表中,选择参数组。
-
对于 Parameter group actions (参数组操作),选择 Edit (编辑)。
-
选择要重置为默认值的参数。您可使用对话框右上方的箭头键滚动参数。
您无法重置默认参数组中的值。
-
选择重置,然后通过选择重置参数进行确认。
要重置数据库参数组中的部分或所有参数,请使用带以下必需选项的 AWS 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_connections
和 max_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
参数。
复制数据库参数组
您可以复制您创建的自定义数据库参数组。复制参数组可能是一种方便的解决方案。例如,您创建了一个数据库参数组,并且想在新的数据库参数组中包含其大部分自定义参数和值。您可以使用 AWS Management Console复制数据库参数组。还可以使用 AWS CLI copy-db-parameter-group 命令或 RDS API CopyDBParameterGroup 操作。
复制数据库参数组之后,请至少等待 5 分钟,再创建使用该数据库参数组作为默认参数组的第一个数据库实例。这样,在使用参数组前,Amazon RDS 可以完成全部复制操作。这对于在为数据库实例创建默认数据库时十分关键的参数非常重要。示例如 character_set_database
参数定义的默认数据库的字符集。请使用 Amazon RDS 控制台
注意
您无法复制默认参数组。不过,您可以创建基于默认参数组的新参数组。
目前,您无法将参数组复制到其他 AWS 区域。
复制数据库参数组
-
登录AWS Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择参数组。
-
在列表中,选择要复制的自定义参数组。
-
对于 Parameter group actions (参数组操作),选择 Copy (复制)。
-
在 New DB parameter group identifier (新数据库参数组标识符) 中,输入新参数组的名称。
-
在 Description (描述) 中,输入新参数组的描述。
-
选择 Copy (复制)。
要复制数据库参数组,请使用 AWS 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-identifiermygroup2
\ --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-identifiermygroup2
^ --target-db-parameter-group-description"DB parameter group 2"
要复制数据库参数组,请将 RDS API CopyDBParameterGroup
操作与下列必需参数配合使用:
-
SourceDBParameterGroupIdentifier
-
TargetDBParameterGroupIdentifier
-
TargetDBParameterGroupDescription
列出数据库参数组
您可以列出为AWS 账户创建的数据库参数组。
注意
当您为特定数据库引擎和版本创建数据库实例时,将自动从默认参数模板创建默认参数组。这些默认参数组包含首选参数设置,并且无法修改。当您创建自定义参数组时,可以修改参数设置。
列出 AWS 账户的所有数据库参数组
-
登录AWS Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择参数组。
数据库参数组将显示在列表中。
要列出 AWS 账户的所有数据库参数组,请使用 AWS CLI describe-db-parameter-groups
命令。
例
下例列出了 AWS 账户的所有可用数据库参数组。
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
要列出 AWS 账户的所有数据库参数组,请使用 RDS API DescribeDBParameterGroups
操作。
查看数据库参数组的参数值
您可获得数据库参数组内所有参数的列表及它们的值。
查看数据库参数组的参数值
-
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择参数组。
数据库参数组将显示在列表中。
-
选择参数组名称以查看其参数列表。
要查看数据库参数组的参数值,请使用带下列必需参数的 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 DescribeDBParameters
命令。
DBParameterGroupName