操作场景
华为云RDS for MySQL 5.6版本停止服务后,用户可以将正在使用中的该版本实例升级到5.7版本,体验更丰富的版本能力。
升级方案
大版本升级过程中会创建一个高版本的目标实例,然后将源实例数据同步到目标实例,再切换VIP,完成整个升级流程。
支持通过以下两种方式将RDS for MySQL 5.6版本升级到5.7:
升级须知
表1 升级须知 阶段 | 注意事项 | 功能限制 |
|---|
升级前 | - 如果要使用大版本升级功能,需要创建DRS委托(委托名称为DRS_AGENTCY),IAM子账号需要添加如下授权项:
- iam:agencies:listAgencies
- iam:permissions:listRolesForAgencyOnProject
- iam:permissions:listRolesForAgencyOnDomain
- 升级大版本前建议先做一次全量备份。
- 建议您克隆原实例,先使用克隆实例进行升级测试,确认各项功能正常后再升级原实例。
- 请务必仔细对比升级前后版本差异,如有必要建议新建一个RDS for MySQL 5.7版本实例进行语法测试,避免应用使用的低版本语法或特性在升级高版本后不支持。
| - 大版本升级操作会将实例升级到目标实例新的内核大版本,并且不支持降级。有关内核版本详情,请参见内核版本说明。
- 对于主备实例,复制延迟大于300秒无法升级大版本。
- 实例中存在异常节点,无法升级大版本。
- MySQL 5.7及之后版本不再支持Sequence Engine,升级前请确认。
- 目前RDS for MySQL实例最大可支持50万张表,大于50万张表时,可能会导致大版本升级失败。
- 云数据库RDS for MySQL暂不支持已开启事件定时器功能的实例升级大版本,若您想使用该功能,请先关闭事件定时器。具体操作请参考开启或关闭事件定时器。
|
升级中 | - MySQL大版本升级耗时与实例的数据量和表数量有关。
- 升级数据库大版本过程将造成约10~120秒的业务中断,请确保您的应用有自动重连机制。请在业务低峰期执行该操作,在业务高峰期执行会导致升级时长变长。
- 升级主实例大版本时,如有只读实例,也会同步升级只读实例的大版本,升级大版本过程将造成不超过五分钟的业务中断,请您选择合适的时间升级(不支持单独升级只读实例的大版本)。
| - 大版本升级期间需要确保实例预留了足够的空间支撑升级过程中的业务写入。
- 大版本升级过程中禁止event的DDL操作,如create event、drop event和alter event。
- 大版本升级定时任务需预准备,设置后不可取消。
|
升级后 | - 大版本升级后,规格参数会恢复到升级版本的默认值,包括以下参数:threadpool_size、innodb_buffer_pool_size、innodb_io_capacity、innodb_io_capacity_max、innodb_buffer_pool_instances、back_log、max_connections。
| - 升级大版本后,升级前的备份将不可用于新版本实例,时间点恢复功能将不能选择升级前的时间点。
|
操作步骤
- 单击管理控制台左上角的
,选择区域。 - 单击页面左上角的
,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。 - 在“实例管理”页面,单击主实例名称。
- 在“概览”页面的“数据库引擎版本”处,单击“升级数据库版本”。
图1 升级数据库大版本
- 在弹出框中,选择升级方式,单击“确定”。
- 立即升级:系统会立即升级您的数据库版本到当前5.7最新版本。
- 可维护时间段内升级:系统会在您设置的可维护时间段内,升级您的数据库版本到当前5.7最新版本。详情请参见设置可维护时间段。
图2 选择升级方式
RDS for MySQL支持通过DRS将RDS for MySQL 5.6版本数据迁移到5.7版本。使用该方式进行大版本升级,需要提前准备好待迁移到的目标版本数据库实例。
您可以在“实例管理”页面,单击目标实例名称,在页面右上角,单击“迁移数据库”,进入数据复制服务信息页面。
具体迁移操作,请参见《数据复制服务用户指南》的“入云迁移”内容。
表2 MySQL数据库版本信息 源数据库版本 | 目标数据库版本 | 迁移类型 |
|---|
RDS for MySQL/自建MySQL/其他云MySQL | RDS for MySQL | MySQL数据库版本升级 |
常见问题
如何查看RDS实例的版本号?
- 通过RDS实例管理页面,查看数据库实例的版本号。
图3 实例管理
- 通过DAS页面,查看数据库实例的版本号。
- 在DAS页面,登录目标实例。
- 在界面上方选择“SQL操作 > SQL查询”。
- 执行select @@version;语句,查看该实例的版本号。