我修改了我的 Amazon Relational Database Service(Amazon RDS)数据库实例的参数组中几个参数的值。但是,更新的值不生效。
解决方法
发生这种情况是因为您在 Amazon RDS 数据库实例的参数组中更新的参数是静态参数。数据库实例参数可以是静态的,也可以是动态的。更新静态参数的值并将更新保存到数据库参数组时,参数更改不会立即生效。您必须手动重启关联的数据库实例,参数组更改才能生效。
更新动态参数时,参数更改会立即应用于您的数据库实例。在这种情况下,您不必重启数据库实例。
要检查您尝试修改的参数是静态的还是动态的,请执行以下操作:
- 打开 Amazon RDS 控制台。
- 在导航窗格中,选择 Parameter groups(参数组)。
- 在显示的参数组列表中,选择需要修改的参数组。
- 对于需要修改的参数,请选中 Apply type(应用类型)列。
此列显示参数是动态的还是静态的。
您还可以运行以下 AWS 命令行界面(AWS CLI)命令来验证参数是静态的还是动态的。此命令返回参数组中的参数列表以及 Apply type(应用类型):
aws rds describe-db-parameters --db-parameter-group-name test_parameter_group --query "Parameters[*].[ParameterName,ApplyType]"
请务必将 test_parameter_group 替换为自定义参数组的名称。
**注意:**如果在运行 AWS CLI 命令时遇到错误,请确保您使用的是最新版本的 AWS CLI。
如果您修改的参数是静态的,RDS 控制台将显示状态为 pending-reboot 的数据库参数组。要检查参数组的状态,请执行以下操作:
- 打开 Amazon RDS 控制台。
- 从导航窗格中选择 Databases(数据库),然后选择数据库实例。
- 选择 Configuration(配置)选项卡。
您可以在此选项卡中查看与实例关联的参数组以及参数组的状态。
您还可以运行以下 AWS CLI 命令来验证参数组的状态:
aws rds describe-db-instances --db-instance-identifier instance_identifier --query "DBInstances[*]".[DBInstanceIdentifier,DBParameterGroups]
请务必将 instance_identifier 替换为您的 RDS 实例的名称。
如果您正在修改的参数是静态的,请重启实例以使参数更改生效。有关更多信息,请参阅重启数据库实例。
重启数据库实例会导致暂时中断。在此中断期间,数据库实例的状态设置为重启状态。成功重启实例后,对静态参数的更改将在关联的 RDS 实例上生效。参数组的状态从 pending-reboot 变为 in-sync。
**注意:**将新的数据库参数组与数据库实例关联时,RDS 控制台会显示状态为 pending-reboot 的数据库参数组。您必须重启实例,才能应用修改后的静态和动态参数。 但是,如果您修改了新关联的数据库参数组中的动态参数,则这些更改将立即应用,而无需重启。
相关信息
如何修改 Amazon RDS 数据库参数组中的值?
使用参数组