开发者社区 问答 正文

修改数据库参数列表



描述


用户可以修改实例参数,提交请求后,RDS将下达任务,新修改的参数应用到实例。如果所提交的参数中,有需要重启数据库的,RDS将重启数据库。必须满足以下条件,否则调用失败:


  • 当前实例状态:使用中。

  • 当前实例锁定模式:正常。

参数值有如下3类:

  • [1-65535],表示数字范围,通过正则识别,从而提取出最小值,最大值。然后根据最小值和最大值对输入参数进行验证,另外,还须是整除因子的倍数。

  • [utf8|gbk|latin1],表示固定的取值规则,通过正则识别,从而提取出固定的取值。然后根据这些固定的取值对输入参数进行验证。

  • 其它,这种情况符合正则表达式。

下达任务之前,RDS将会进行参数检查,步骤如下:

  • 参数是否存在。

  • 参数是否可修改。

  • 参数是否合法。

若参数非法,RDS返回400错误,并返回非法的参数信息。类似:
  1. [backcolor=transparent]{"HttpStatusCode":400,"Code":"InvalidParameter.Format",
  2. [backcolor=transparent]"Message":"Specified parameter is not valid.[auto_increment_increment:a,character_set_client:41]"}


请求参数

名称类型是否必须描述
ActionString系统规定参数,取值:ModifyParameter。
DBInstanceIdString实例名。
ParametersString参数及其值的JSON串,参数的值都是字符串类型,{“auto_increment_increment”:”1”,“character_set_client”:”utf8”}。
ForcerestartStringtrue:强制重启(若修改的参数当中,有需要重启的参数,则必须传入true,否则修改将不生效);false:不强制重启。默认不强制重启。


返回参数

名称类型描述
<公共返回参数>详见公共参数


示例


  • 请求示例
    1. [backcolor=transparent] https[backcolor=transparent] :[backcolor=transparent] //rds.aliyuncs.com/?Action=ModifyeParameter
    2. [backcolor=transparent]&[backcolor=transparent]DBInstanceId[backcolor=transparent]=[backcolor=transparent]riauvjz6zajfiq6ba1370329449201L
    3. [backcolor=transparent]&[backcolor=transparent]Parameters[backcolor=transparent]={[backcolor=transparent]"key_buffer_size"[backcolor=transparent]:[backcolor=transparent]"456"[backcolor=transparent],[backcolor=transparent]"character_set_client"[backcolor=transparent]:[backcolor=transparent]"gbk"[backcolor=transparent]}
    4. [backcolor=transparent]&<公共请求参数>

  • 返回示例
    XML格式:
    1. [backcolor=transparent] <ModifyeParameterResponse>
    2. [backcolor=transparent]       [backcolor=transparent]<RequestId>[backcolor=transparent]542BB8D6-4268-45CC-A557-B03EFD7AB30A[backcolor=transparent]</RequestId>
    3. [backcolor=transparent]</ModifyeParameterResponse>

    JSON格式:
    1. [backcolor=transparent]{
    2. [backcolor=transparent]       [backcolor=transparent]"RequestId"[backcolor=transparent]:[backcolor=transparent]"542BB8D6-4268-45CC-A557-B03EFD7AB30A"[backcolor=transparent],
    3. [backcolor=transparent]}

展开
收起
云栖大讲堂 2017-10-19 11:08:16 1648 分享
分享
版权
举报
阿里云 AI 助理回答

根据您的描述,您正在询问有关阿里云RDS(关系型数据库服务)修改实例参数的流程、条件限制以及如何构造API请求。下面是对关键信息的总结和说明:

修改RDS实例参数的条件:

  1. 实例状态:必须是“使用中”状态。
  2. 实例锁定模式:应为“正常”。
  3. 参数值类型:分为三类:
    • 数字范围:如[1-65535],要求输入为指定范围内的整数,并且可能是特定整除因子的倍数。
    • 固定取值:如[utf8|gbk|latin1],只能选择给定的固定选项之一。
    • 其他正则表达式匹配的值。

参数检查步骤:

  • 存在性:确认所提交修改的参数是否真实存在于RDS配置中。
  • 可修改性:检查参数是否允许用户修改。
  • 合法性验证:确保参数值符合上述规则,否则返回400错误并指出非法参数。

API调用示例

请求构造

https://rds.aliyuncs.com/
?Action=ModifyParameter
&DBInstanceId=your_instance_id
&Parameters={"auto_increment_increment":"1","character_set_client":"utf8"}
&Forcerestart=false
&<AccessKeyId>=your_access_key_id
&<SignatureMethod>=HMAC-SHA1
&<SignatureVersion>=1.0
&<Timestamp>=current_timestamp
&<Signature>=calculated_signature
  • Action: 必须设置为ModifyParameter
  • DBInstanceId: 替换为您的RDS实例ID。
  • Parameters: JSON格式的参数及其值,例如修改自增步长和字符集。
  • Forcerestart: 可选,根据需要决定是否强制重启实例以应用参数变更,默认为false
  • 其他请求参数包括访问密钥ID、签名方法、版本、时间戳及签名等,这些是阿里云API调用的标准安全认证部分,需根据实际获取的AccessKey信息和时间生成。

请确保在实际操作前,已阅读并理解阿里云RDS相关文档,正确构造请求,并准备好处理可能的响应错误,比如通过检查返回的HTTP状态码和消息体来判断操作是否成功。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等