使用多可用区数据库集群的数据库集群参数组
多可用区数据库集群使用数据库集群参数组。以下各节介绍配置和管理数据库集群参数组。
创建数据库集群参数组
您可以使用 AWS Management Console、AWS CLI 或 RDS API 创建新数据库集群参数组。
创建数据库集群参数组之后,至少等待 5 分钟,然后创建使用该数据库集群参数组的数据库集群。这样,Amazon RDS 就可以在新数据库集群使用参数组之前完全创建此参数组。您可以使用 Amazon RDS 控制台
以下限制适用于数据库集群参数组名称:
-
名称必须为 1 到 255 个字母、数字或连字符。
原定设置参数组名称可以包含句点,例如
default.aurora-mysql5.7
。但是,自定义参数组名称不能包含句点。 -
第一个字符必须是字母。
-
名称不能以连字符结束,也不能包含两个连续的连字符。
若要创建数据库集群参数组
-
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择参数组。
-
选择创建参数组。
将显示创建参数组窗口。
-
在参数组系列列表中,选择一个数据库参数组系列。
-
在类型列表内,选择数据库集群参数组。
-
在组名框中,输入新数据库集群参数组的名称。
-
在描述框中,输入新数据库集群参数组的描述。
-
选择创建。
要创建数据库集群参数组,请使用 AWS CLI create-db-cluster-parameter-group
命令。
以下示例为 RDS for MySQL 版本 8.0 创建名为 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-familymysql8.0
\ --description"My new cluster parameter group"
对于 Windows:
aws rds create-db-cluster-parameter-group ^ --db-cluster-parameter-group-name
mydbclusterparametergroup
^ --db-parameter-group-familymysql8.0
^ --description"My new cluster parameter group"
此命令生成类似于下述信息的输出:
{ "DBClusterParameterGroup": { "DBClusterParameterGroupName": "mydbclusterparametergroup", "DBParameterGroupFamily": "mysql8.0", "Description": "My new cluster parameter group", "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup2" } }
要创建数据库集群参数组,请使用 RDS API CreateDBClusterParameterGroup
操作。
包括以下必需参数:
-
DBClusterParameterGroupName
-
DBParameterGroupFamily
-
Description
修改数据库集群参数组中的参数
您可以修改客户创建的数据库集群参数组中的参数值。您无法更改默认数据库集群参数组中的参数值。对客户创建的数据库集群参数组中的参数所做的更改将应用于与此数据库集群参数组关联的所有数据库集群。
修改数据库集群参数组
-
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择参数组。
-
在此列表中,选择要修改的参数组。
-
对于 Parameter group actions (参数组操作),选择 Edit (编辑)。
-
更改要修改的参数的值。您可使用对话框右上方的箭头键滚动参数。
您无法更改默认参数组中的值。
-
选择保存更改。
-
重新启动集群中的主数据库实例,以将更改应用于集群中的所有数据库实例。
要修改数据库集群参数组,请使用 AWS CLI modify-db-cluster-parameter-group
命令及以下必要参数:
-
--db-cluster-parameter-group-name
-
--parameters
以下示例修改了名为 mydbclusterparametergroup 的数据库集群参数组的 server_audit_logging
和 server_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
重置数据库集群参数组中的参数
您可以在客户创建的数据库集群参数组中将参数重置为其默认值。对客户创建的数据库集群参数组中的参数所做的更改将应用于与此数据库集群参数组关联的所有数据库集群。
注意
在默认数据库集群参数组中,参数始终设置为默认值。
将数据库集群参数组中的参数重置为其默认值
-
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择参数组。
-
在列表中,选择参数组。
-
对于 Parameter group actions (参数组操作),选择 Edit (编辑)。
-
选择要重置为默认值的参数。您可使用对话框右上方的箭头键滚动参数。
您无法重置默认参数组中的值。
-
选择重置,然后通过选择重置参数进行确认。
-
重新启动数据库集群中的主数据库实例,以将更改应用于数据库集群中的所有数据库实例。
要将数据库集群参数组中的参数重置为其默认值,请使用带以下必要选项的 AWS 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_logging
和 server_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
参数。
复制数据库集群参数组
您可以复制您创建的自定义数据库集群参数组。当您已创建一个数据库集群参数组并且想在新的数据库集群参数组中包含该组中的大部分自定义参数和值时,复制参数组是一个方便的解决方案。您可通过使用 AWS CLI copy-db-cluster-parameter-group 命令或 RDS API CopyDBClusterParameterGroup 操作来复制数据库集群参数组。
复制数据库集群参数组之后,至少等待 5 分钟,然后创建使用该数据库集群参数组的数据库集群。这样,Amazon RDS 就可以在新数据库集群使用参数组之前完全复制此参数组。您可以使用 Amazon RDS 控制台
注意
您无法复制默认参数组。不过,您可以创建基于默认参数组的新参数组。
您无法将数据库集群参数组复制到其他 AWS 账户或 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-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-identifiermygroup2
\ --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-identifiermygroup2
^ --target-db-cluster-parameter-group-description"DB parameter group 2"
要复制数据库集群参数组,请将 RDS API CopyDBClusterParameterGroup
操作与下列必需参数配合使用:
-
SourceDBClusterParameterGroupIdentifier
-
TargetDBClusterParameterGroupIdentifier
-
TargetDBClusterParameterGroupDescription
列出数据库集群参数组
您可以列出为 AWS 账户创建的数据库集群参数组。
注意
当您为特定数据库引擎和版本创建数据库集群时,将自动从默认参数模板创建默认参数组。这些默认参数组包含首选参数设置,并且无法修改。当您创建自定义参数组时,可以修改参数设置。
列出 AWS 账户的所有数据库集群参数组
-
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择参数组。
数据库集群参数组出现在数据库集群参数组的类型列表中。
要列出 AWS 账户的所有数据库集群参数组,请使用 AWS CLI describe-db-cluster-parameter-groups
命令。
例
下例列出了 AWS 账户的所有可用数据库集群参数组。
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": "mydbclusterparametergroup2", "DBParameterGroupFamily": "mysql8.0", "Description": "My new cluster parameter group", "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup" } ] }
要列出 AWS 账户的所有数据库集群参数组,请使用 RDS API DescribeDBClusterParameterGroups
操作。
查看数据库集群参数组的参数值
您可获得数据库集群参数组内所有参数的列表及它们的值。
查看数据库集群参数组的参数值
-
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择参数组。
数据库集群参数组出现在数据库集群参数组的类型列表中。
-
选择数据库集群参数组的名称以查看其参数列表。
要查看数据库集群参数组的参数值,请使用 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": [
{
"ParameterName": "activate_all_roles_on_login",
"ParameterValue": "0",
"Description": "Automatically set all granted roles as active after the user has authenticated successfully.",
"Source": "engine-default",
"ApplyType": "dynamic",
"DataType": "boolean",
"AllowedValues": "0,1",
"IsModifiable": true,
"ApplyMethod": "pending-reboot",
"SupportedEngineModes": [
"provisioned"
]
},
{
"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"
]
},
...
要查看数据库集群参数组的参数值,请使用带下列所需参数的 RDS API DescribeDBClusterParameters
命令。
DBClusterParameterGroupName
在某些情况下,不显示参数的允许值。这些始终是源为数据库引擎原定设置值的参数。
要查看这些参数的值,可以运行以下 SQL 语句:
-
MySQL:
-- Show the value of a particular parameter mysql
$
SHOW VARIABLES LIKE '%parameter_name
%'; -- Show the values of all parameters mysql$
SHOW VARIABLES; -
PostgreSQL:
-- Show the value of a particular parameter postgresql=> SHOW
parameter_name
; -- Show the values of all parameters postgresql=> SHOW ALL;