操作场景
云数据库 RDS for MySQL支持自动或手动升级内核小版本,内核小版本的升级涉及性能提升、新功能或问题修复等。
查看数据库实例的内核版本
新创建的实例默认为最新小版本。华为云有新的内核小版本发布时,您可以在“实例管理”页面“数据库引擎版本”列看到内核小版本升级提示,单击“补丁升级”跳转到小版本升级页面。
图1 升级
内核小版本功能详情请参见华为云RDS for MySQL内核版本说明。
升级方案
升级内核小版本可以分为以下两种升级方案:
- 对于单机或只读实例,采用原地升级的方案,会停止内核进程并进行升级。
- 对于主备实例,如果主备在同一个可用区,升级期间会进行一次主备倒换。先升级备机,然后进行主备倒换升级原主机。
- 对于主备实例,如果主备在不同的可用区,采用滚动升级的方式,期间会进行两次主备倒换。先升级备机,然后进行主备倒换升级原主机,最后再次主备倒换。
根据升级时间不同,升级内核小版本可以分为以下两种方式。
- 立即升级:您可以根据实际业务情况,在目标实例的“概览”页面手动升级内核小版本。
- 可维护时间段内升级:您可以在您设置的可维护时间段内进行升级,详情参见设置可维护时间段。
如果当前实例的内核版本存在已知潜在风险、重大缺陷,或者已过期、已下线,系统会通过短信、邮件等渠道进行提前通知,并在可维护时间段内下发升级任务。
升级注意事项
表1 升级注意事项 | 阶段 | 注意事项 |
| 升级前 | - 当有对应的小版本更新时(定期同步开源社区问题、漏洞修复),请及时手动立即升级或者设置可维护时间段升级小版本。
- 升级数据库内核小版本会重启RDS for MySQL实例,服务可能会出现闪断,请您尽量在业务低峰期执行该操作,或确保您的应用有自动重连机制。
- 升级内核小版本期间,除了主备切换时的网络闪断外,由于主备之间默认是半同步复制,升级过程中会有两次单条SQL持续最长十秒的更新及写入等待,用户可通过修改主备间的复制模式为异步来规避此场景。
- 如果主备实例在同一个AZ,升级内核小版本会触发一次主备倒换;如果主备实例在不同AZ,则会触发两次主备倒换。
- 升级主实例小版本时,如有只读实例,也会同步升级只读实例的小版本,升级完成会重启实例,请您选择合适的时间升级(不支持单独升级只读实例的小版本)。
- 升级内核小版本时,如果RDS实例为DRS任务的源端,DRS可能会拉取不到RDS实例的日志;如果RDS实例为DRS任务的目标端,DRS可能会写不进目标库。
建议您在升级内核小版本前先确认RDS实例Binlog的保留时间: - 如果Binlog在保留时间内,待内核小版本升级完成后,DRS任务会自动重启。
- 如果Binlog不在保留时间内,您需要重新配置或创建DRS任务。
- 升级小版本前建议先做一次全量备份。
- 对于主备实例,复制延迟大于300秒无法升级小版本。
- 实例中存在异常节点,无法升级小版本。
- 云数据库RDS for MySQL暂不支持已开启事件定时器功能的实例升级内核小版本,若您想使用该功能,请先关闭事件定时器。具体操作请参考开启或关闭事件定时器。
- 在RDS for MySQL 8.0.28 以上的内核版本中,系统库information_schema中表的查询结果会使用utf8mb3替代utf8。Connector/Net在8.0.28之前的版本不支持utf8mb3,遇到utf8mb3时会报错:Character Set 'utf8mb3' is not supported by .Net Framework。如果应用程序使用了Connector/Net,请在升级RDS for MySQL内核版本前,先将Connector/Net升级到8.0.28或更高版本。详情请参见MySQL 8.0.29 Character Set Support和Changes in MySQL Connector/NET 8.0.28。
|
| 升级中 | - 升级内核小版本一般是分钟级完成。升级期间以下业务场景可能导致小版本升级时间较长,请您尽量避免在版本升级期间执行此类操作。
- 频繁访问performance_schema、mysql等系统库表。
- 频繁写入操作导致复制延迟、buffer_pool脏页率高。
- 小版本升级过程中禁止event的DDL操作,如create event、drop event和alter event。如果存在DDL操作,可参考小版本升级时,界面提示主节点存在DDL操作该怎么处理?处理。
|
| 升级后 | - 8.0.28及以上的内核版本,不支持设置TLSv1.1,可以通过参数“loose_tls_version”修改TLS版本。
|
升级内核小版本
- 登录RDS管理控制台。
- 单击管理控制台左上角的
,选择区域。 - 在“实例管理”页面,单击“补丁升级”。
图2 补丁升级
- 在弹出框中,设置以下升级配置项,单击“确定”。
- 升级方式:
- 立即升级:系统会立即升级您的数据库内核版本到当前最新版本。
- 可维护时间段内升级:系统会在您设置的可维护时间段内,升级您的数据库内核版本到当前最新版本。
图3 升级小版本(主备在同一个可用区)
图4 升级小版本(主备在不同的可用区)
- 返回实例列表,在左侧导航栏,选择“任务中心”,查看版本升级任务的执行进度。
- 对于升级方式为“立即升级”的任务:
在“即时任务”页签,搜索“MySQL实例版本升级”任务,查看执行进度。即时任务不支持取消。
- 对于升级方式为“可维护时间段内升级”的任务:
在“定时任务”页签,搜索实例ID,查看该实例下版本升级的任务执行情况。
如果任务为“待执行”状态,单击“取消”,取消执行该升级任务。
更多操作,请参见任务中心。
常见问题
如何查看RDS实例的版本号?
- 通过RDS实例管理页面,查看数据库实例的版本号。
图5 实例管理
- 通过DAS页面,查看数据库实例的版本号。
- 在DAS页面,登录目标实例。
- 在界面上方选择“SQL操作 > SQL窗口”。
- 执行select @@version;语句,查看该实例的版本号。
小版本升级时,界面提示主节点存在DDL操作该怎么处理?