为什么在我更改 Amazon RDS 参数组中的参数值后,更新的参数值未生效?

1 分钟阅读
0

我修改了我的 Amazon Relational Database Service(Amazon RDS)数据库实例的参数组中几个参数的值。但是,更新的值不生效。

解决方法

发生这种情况是因为您在 Amazon RDS 数据库实例的参数组中更新的参数是静态参数。数据库实例参数可以是静态的,也可以是动态的。更新静态参数的值并将更新保存到数据库参数组时,参数更改不会立即生效。您必须手动重启关联的数据库实例,参数组更改才能生效。

更新动态参数时,参数更改会立即应用于您的数据库实例。在这种情况下,您不必重启数据库实例。

要检查您尝试修改的参数是静态的还是动态的,请执行以下操作:

  1. 打开 Amazon RDS 控制台
  2. 在导航窗格中,选择 Parameter groups(参数组)。
  3. 在显示的参数组列表中,选择需要修改的参数组。
  4. 对于需要修改的参数,请选中 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 的数据库参数组。要检查参数组的状态,请执行以下操作:

  1. 打开 Amazon RDS 控制台
  2. 从导航窗格中选择 Databases(数据库),然后选择数据库实例。
  3. 选择 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 数据库参数组中的值?

使用参数组

AWS 官方
AWS 官方已更新 2 年前
没有评论