
# 手动变更实例的CPU和内存规格
#### 操作场景
CPU/内存规格可根据业务需要进行变更。
RDS for MySQL实例支持规格升配，也支持降配。
#### 操作视频
<video controls="controls" preload="none" id="object1017015433214" class="idp-external-video" src="https://res-static.hc-cdn.cn/cloudbu-site/china/zh-cn/RDS/Video/1729148781177954023.mp4" title="变更实例规格" poster="https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002375410954.jpg" height="380.0000" width="680.0000"></video>
 #### 约束限制
表1约束限制 
| 阶段  | 限制说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|
| 变更前 | - 账户余额大于等于0元，才可变更规格。  - 以下场景会导致下发规格变更失败： - 实例状态为异常、创建失败、磁盘满、创建中。  - 主备实例复制时延大于300秒，或者主备复制关系异常。  - 备机重建中。  - 数据库代理实例状态异常或在变更状态中。  - 实例存在定时规格变更任务。    - 实例规格对极速型SSD云盘的最大吞吐量有如下限制： - 32vCPU以上规格的极速型SSD云盘，最大吞吐量为1000 MiB/s。  - 32vCPU及以下规格的极速型SSD云盘受底层架构限制，最大吞吐量可能无法达到1000 MiB/s。                                                                            |
| 变更中 | - 变更过程中若存在大事务，可能导致变更失败。  - 变更过程中存在持有全局读锁的会话，会导致变更失败。  - 当实例进行CPU/内存规格变更时，该实例不可被删除。  - 当实例进行CPU/内存规格变更时，不能对该实例做如下操作：[重启数据库](https://support.huaweicloud.com/usermanual-rds-mysql/rds_08_0013.html)、[扩容磁盘](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_topic_scale_cluster.html)、[修改参数组](https://support.huaweicloud.com/usermanual-rds-mysql/rds_configuration.html)、[创建手动备份](https://support.huaweicloud.com/usermanual-rds-mysql/rds_08_0005.html)、[创建数据库账号](https://support.huaweicloud.com/usermanual-rds-mysql/rds_05_0009.html)、[创建数据库](https://support.huaweicloud.com/usermanual-rds-mysql/rds_05_0019.html)等。  - 本地盘规格变更时，变更后的目标规格的存储上限不能小于当前实例的存储容量。  - 只读实例规格变更期间主实例[Binlog清理](https://support.huaweicloud.com/usermanual-rds-mysql/rds_05_0037.html)关闭，请注意磁盘空间使用情况。   |
| 变更后 | - 规格变更后，部分参数会自动更新为新规格的默认值，详见[相关参数说明]。  - 本地盘通过备份恢复到新本地盘机器的方式进行规格变更。本地盘规格变更后，新实例上的Binlog会复位序号从001开始记录，如果客户有第三方工具拉取Binlog会导致任务中断。  - 本地盘规格变更后会重置Binlog，如果想要不重置，可以[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)申请。  - 云盘规格变更后不会重置Binlog。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   
#### 变更时长及对业务的影响
- 变更规格会导致业务中断（请确保应用有自动重连机制）：
  - 变更时选择占用IP：约5\~60秒的服务不可用。
  
  - 变更时选择不占用IP：约30\~120秒的服务不可用。
   
- 请在业务低峰期变更规格，在业务高峰期执行会导致变更时长变长。
- 关于变更规格所需的时间（非业务高峰期）：
  - 对于云盘存储类型的实例，此过程需要5～16分钟。
  
  - 对于本地盘存储类型的实例，需要通过备份恢复到新本地盘机器的方式进行规格变更，花费的总体时间与数据量相关。
  
  - 超过变更时长，请及时联系华为云客服。
   
- 选择可维护时间段变更规格，提交后在定时任务中可选择立即切换（如果界面没有立即切换，请[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)申请），关于变更规格所需的时间：业务高峰期时，可能存在复制时延高的情况，切换所需时间可能会较长。
 
#### 变更规格类型
通用型规格实例可以变更为独享型，独享型也可以变更为通用型（该操作可能会降低性能影响业务，请谨慎选择）。关于规格类型说明，请参见[X86架构规格（云盘存储）](https://support.huaweicloud.com/productdesc-rds-mysql/rds_01_0034.html)。
#### 费用说明
表2费用说明 
| 计费模式  | 变更操作 | 对费用的影响                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| 包年/包月 | 规格升配 | 升配后，新规格将在原来已有的时间周期内生效。 您需要按照与原规格的价格差，结合使用周期内的剩余时间，补交差价。 例如：（以下价格仅作示例，实际价格以控制台显示为准） 客户于2023/6/1在华北-北京四购买规格为通用型 2vCPUs 8GB的RDS for MySQL 5.7单机实例，SSD云盘存储，存储空间40GB，购买周期为一个月。此时实例价格为230元/月。 客户在2023/6/15将规格变更为通用型 4vCPUs 8GB，实例价格为400元/月。 **升配费用 = 新规格价格 x 剩余周期 - 旧规格价格 x 剩余周期** 公式中的剩余周期为每个自然月的剩余天数/对应自然月的最大天数。 本示例中，剩余周期=15（6月份剩余未使用天数）/ 30（6月份最大天数）= 0.5，代入公式可得升配费用 = 400 x 0.5 - 230 x 0.5 = 85元 |
| 包年/包月 | 规格降配 | 降配后，新规格将在原来已有的时间周期内生效。 RDS按照与原规格的价格差，结合使用周期内的剩余时间，退回差价。 例如：（以下价格仅作示例，实际价格以控制台显示为准） 客户于2023/6/1在华北-北京四购买规格为通用型 2vCPUs 8GB的RDS for MySQL 5.7单机实例，SSD云盘存储，存储空间40GB，购买周期为一个月。此时实例价格为230元/月。 客户在2023/6/15将规格变更为通用型 2vCPUs 4GB，实例价格为196元/月。 **退回费用 = 旧规格价格 x 剩余周期 - 新规格价格 x 剩余周期** 公式中的剩余周期为每个自然月的剩余天数/对应自然月的最大天数。 本示例中，剩余周期=15（6月份剩余未使用天数）/ 30（6月份最大天数）= 0.5，代入公式可得退回费用 = 230 x 0.5 - 196 x 0.5 = 17元    |
| 按需计费  | 规格升配 | 变更规格成功后，新规格按小时计费。具体请参见[产品价格详情](https://www.huaweicloud.com/pricing.html?tab=detail#/rds)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 按需计费  | 规格降配 | 变更规格成功后，新规格按小时计费。具体请参见[产品价格详情](https://www.huaweicloud.com/pricing.html?tab=detail#/rds)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
 #### 相关参数说明
对于和CPU相关的参数（即参数值与CPU变动有关，内存变动时不会影响取值）：threadpool_size、slave_parallel_workers，参考如下表格规则重置参数值：
表3CPU变更场景下重置参数值 
| 场景        | 参数值无修改         | 参数值有修改                                                            |
|:---|:---|:---|
| 升配（CPU升高） | 重置为**新规格**的默认值 | 在**修改** **值** 与**新规格默认值** 之间优先取较**大** 的值，即**Max**(default，custom) |
| 降配（CPU降低） | 重置为**新规格**的默认值 | 在**修改** **值** 与**新规格默认值** 之间优先取较**小** 的值，即**Min**(default，custom) |
   
对于和内存相关的参数（即参数值与内存变动有关，CPU变动时不会影响取值）：innodb_buffer_pool_size、innodb_log_buffer_size、innodb_log_files_in_group、max_connections、innodb_page_cleaners、innodb_buffer_pool_instances和back_log，参考如下表格规则重置参数值：
表4内存变更场景下重置参数值 
| 场景       | 参数值无修改         | 参数值有修改                                                            |
|:---|:---|:---|
| 升配（内存升高） | 重置为**新规格**的默认值 | 在**修改** **值** 与**新规格默认值** 之间优先取较**大** 的值，即**Max**(default，custom) |
| 降配（内存降低） | 重置为**新规格**的默认值 | 在**修改** **值** 与**新规格默认值** 之间优先取较**小** 的值，即**Min**(default，custom) |
   
以下参数没有修改时，重置为新规格默认值，有修改时保留修改值：innodb_io_capacity、innodb_io_capacity_max。
#### 操作步骤
- [主实例变更规格]
  1. [登录RDS管理控制台](https://console.huaweicloud.com/rds/#/rds/management/list)。
  
  2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002593882307.png)，选择区域。
  
  3. 在"实例管理"页面，选择目标实例，单击"操作"列的"更多 \> 规格变更"，进入"规格变更"页面。 
     您也可以通过单击目标实例名称，进入"概览"页面。在"性能规格"处，单击"规格变更"，进入"规格变更"页面。
     
     
  
  4. 在"规格变更"页面，选择所需修改的性能规格后，单击"下一步"。 
     对于云数据库 RDS for MySQL按需计费的实例，在"规格变更"页面，选择所需修改的性能规格，选择切换时间，单击"下一步"。
     图1规格变更   
     ![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002708323870.png "点击放大")
     对于在DCC上的实例，性能规格只支持通用增强型。
     表5参数说明 
     | 参数     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
     |:---|:---|
     | 切换时间   | - 立即变更：提交后会立即开始执行变更操作。  - 可维护时间段内变更：选择可维护时间段变更，建议将变更时间段设置在业务低峰期。                                                                                                                                                                                         |
     | 是否占用IP | - 是：变更规格会临时占用IP，且变更后不会立即释放（默认12小时后释放）。变更规格前，请确保有未被使用的[内网地址](https://support.huaweicloud.com/usermanual-rds-mysql/rds_05_0024.html)（主备实例：2个未被使用的内网地址；单机实例：1个未被使用的内网地址；只读实例：1个未被使用的内网地址），否则变更规格会失败。当前子网IP资源充足的情况下，建议使用占用IP方式进行变更。  - 否：变更规格不会临时占用IP。   |
        
     
     
  
  5. 进行规格确认。 
     - 如需重新选择，单击"上一步"，回到上个页面，修改规格。
     
     - 按需计费模式的实例，单击"提交"，提交变更。 由规格变更产生的费用，您可以在界面上方选择"费用 \> 费用账单"，在"账单管理 \> 流水和明细账单"中查看费用详情。
       
     
     - 包年/包月模式的实例
       - 缩小规格：单击"提交订单"，提交变更。 由缩小规格产生的退款，系统会自动退还至客户账户，您可在"费用中心"页面，在左侧导航栏"订单管理"下的"我的订单"查看费用详情。
         
       
       - 扩大规格：单击"提交订单"，跳转至支付页面，支付成功后，才可进行规格变更。
        
     
     
     
     
  
  6. 查看变更结果。 
     任务提交成功后，单击"返回云数据库RDS列表"，在实例管理页面，可以看到实例状态为"规格变更中"。在"任务中心"可以看到任务名称为"MySQL实例规格变更"的任务执行进度。稍后在对应的"概览"页面，查看实例规格，检查修改是否成功。
     其中云盘实例的切换时间选择"可维护时间段"时，任务提交成功后，在设置的时间段内，可以在实例列表页面看到实例状态为"规格变更中"。
     
     
   
- [只读实例变更规格]
  1. [登录RDS管理控制台](https://console.huaweicloud.com/rds/#/rds/management/list)。
  
  2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002593882307.png)，选择区域。
  
  3. 在"实例管理"页面，选择目标实例，单击"操作"列的"更多 \> 规格变更"，进入"规格变更"页面。 
     您也可以单击只读实例名称，进入"概览"页面。在"性能规格"处，单击"规格变更"，进入"规格变更"页面。
     
     
  
  4. 在"规格变更"页面，选择所需修改的性能规格后，单击"下一步"。 
     对于云数据库 RDS for MySQL按需计费的只读实例，在"规格变更"页面，选择所需修改的性能规格，选择切换时间，单击"下一步"。
     对于在DCC上的只读实例，性能规格只支持通用增强型。
     表6参数说明 
     | 参数     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
     |:---|:---|
     | 切换时间   | - 立即变更：提交后会立即开始执行变更操作。  - 可维护时间段内变更：选择可维护时间段变更，建议将变更时间段设置在业务低峰期。                                                                                                                                                                                         |
     | 是否占用IP | - 是：变更规格会临时占用IP，且变更后不会立即释放（默认12小时后释放）。变更规格前，请确保有未被使用的[内网地址](https://support.huaweicloud.com/usermanual-rds-mysql/rds_05_0024.html)（主备实例：2个未被使用的内网地址；单机实例：1个未被使用的内网地址；只读实例：1个未被使用的内网地址），否则变更规格会失败。当前子网IP资源充足的情况下，建议使用占用IP方式进行变更。  - 否：变更规格不会临时占用IP。   |
        
     
     
  
  5. 进行规格确认。 
     - 如需重新选择，单击"上一步"，回到上个页面，修改规格。
     
     - 按需计费模式的只读实例，单击"提交"，提交变更。 由规格变更产生的费用，您可以在界面上方选择"费用 \> 费用账单"，在"账单管理 \> 流水和明细账单"中查看费用详情。
       
     
     - 包年/包月模式的只读实例
       - 缩小规格：单击"提交订单"，提交变更。 由缩小规格产生的退款，系统会自动退还至客户账户，您可在"费用中心"页面，在左侧导航栏"订单管理"下的"我的订单"查看费用详情。
         
       
       - 扩大规格：单击"提交订单"，跳转至支付页面，支付成功后，才可进行规格变更。
        
     
     
     
     
  
  6. 查看变更结果。 
     任务提交成功后，单击"返回云数据库RDS列表"，在实例管理页面，可以看到只读实例状态为"规格变更中"。在"任务中心"可以看到任务名称为"MySQL实例规格变更"的任务执行进度。稍后在对应的"概览"页面，查看只读实例规格，检查修改是否成功。
     其中云盘只读实例的切换时间选择"可维护时间段"时，任务提交成功后，在设置的时间段内，可以在实例列表页面看到只读实例状态为"规格变更中"。
     
     
   
#### 常见问题
#### 只读实例可以和主实例一起变更规格吗？
只读实例和主实例不支持一起变更规格。
只读实例规格可以与主实例不一致，变更规格时建议只读实例规格大于等于主实例规格，否则易导致只读实例延迟高、负载高等现象。
#### 后续操作
返回实例列表，在左侧导航栏，选择"任务中心"，查看规格变更任务的执行进度。
- 对于变更方式为"立即变更"的任务： 在"即时任务"页签，搜索"MySQL实例规格变更"任务，查看执行进度。即时任务不支持取消。
  
- 对于变更方式为"可维护时间段"的任务： 在"定时任务"页签，搜索实例ID，查看该实例下规格变更的任务执行情况。
  如果任务为"待执行"状态，单击"取消"，取消执行该任务。
  
 
更多操作，请参见[任务中心](https://support.huaweicloud.com/usermanual-rds-mysql/rds_task_0001.html)。
#### 相关API
- [查询数据库可变更规格接口](https://support.huaweicloud.com/api-rds/rds_01_0110.html)
- [变更数据库实例的规格](https://support.huaweicloud.com/api-rds/rds_01_0101.html)
 
