tencent cloud

云数据库 MySQL

动态与公告
产品动态
产品公告
新手指引
产品简介
产品概述
产品优势
应用场景
数据库架构
隔离策略
经济型实例
产品功能列表
数据库实例
高可用性(多可用区)
地域和可用区
自研内核
内核概述
内核版本更新动态
功能类特性
性能类特性
安全类特性
稳定类特性
TXRocks 引擎
内核问题检查与修复
购买指南
计费概述
选型指南
购买方式
续费说明
欠费说明
退费说明
按量转包年包月
调整实例费用说明
备份空间收费说明
数据库审计计费说明
数据库代理商业化计费和活动说明
数据库代理计费周期说明
查看费用账单
快速入门
入门概述
创建 MySQL 实例
连接 MySQL 实例
SQL 洞察(原数据库审计)
数据库审计简介
查看审计实例列表
开通审计服务
查看审计日志
日志投递
配置事后告警
修改审计规则
修改审计服务
关闭审计服务
审计规则模板
SQL 审计规则(旧版)
查看审计任务
授权子用户使用数据库审计
MySQL 云盘版
MySQL 云盘版概述
创建 MySQL 云盘版实例
维护管理实例
查看实例监控
调整实例配置
其他功能相关操作
迁移或升级至 MySQL 云盘版
操作指南
使用限制
操作总览
维护管理实例
升级实例
CPU 弹性扩容
只读/灾备实例
数据库代理
数据库管理(DMC)
账号管理
参数配置
备份与回档
数据迁移
网络与安全
监控与告警
日志中心
只读分析引擎
标签
实践教程
腾讯云 MySQL 帮助实现 MySQL 5.7升级至 MySQL 8.0
MySQL 5.6升级到 MySQL 5.7方法和说明
云数据库 MySQL 数据库审计等保实践
构建全场景高可用架构
云数据库 MySQL 使用规范
应用程序配置自动重连功能
MySQL 主实例参数修改的影响
MyISAM 自动转换为 InnoDB 引擎限制
为云数据库 MySQL 创建 VPC
使用云数据库 MySQL 提高业务负载能力
两地三中心灾备建设
读写分离扩展云数据库 MySQL 性能
使用 DTS 将 InnoDB 数据迁移至 RocksDB
构建 LAMP 堆栈 Web 应用程序
构建 Drupal 网站
通过 Python 语言使用 MySQL API
主备实例查询数据不一致
白皮书
性能白皮书
安全白皮书
故障处理
连接相关
性能相关
实例数据同步延迟
设置大小写不敏感失败
通过命令获取 slow_query_log_file 失败
API 文档
History
Introduction
API Category
Instance APIs
调用方式
Data Import APIs
Database Proxy APIs
数据库审计相关接口
Security APIs
Task APIs
Backup APIs
Account APIs
Rollback APIs
Parameter APIs
Database APIs
Monitoring APIs
Log-related API
Data Types
Error Codes
常见问题
选型相关
计费相关
备份相关
回档相关
连接登录
参数修改
升级相关
账号权限
性能内存
运维相关
数据迁移
功能特性
控制台相关
日志相关
事件相关
数据库审计
实例切换影响
API 2.0 切换 3.0 指引
相关协议
服务等级协议
服务条款
通用参考
标准与认证
联系我们
词汇表

升级 MySQL5.7到 MySQL8.0

PDF
聚焦模式
字号
最后更新时间: 2025-12-16 15:13:43
云数据库 MySQL 支持通过控制台直接升级数据库版本,本文为您介绍通过控制台将实例数据库版本从 MySQL 5.7升级至 MySQL 8.0。

操作场景

MySQL 8.0在性能和功能上有较大的提升和增强,在高并发、大数据量场景下的性能表现更为突出,能够提供更强大的系统性能和稳定性。
云数据库 MySQL 支持以下数据库版本的升级:
MySQL 5.7到 MySQL 8.0
说明:
单节点云盘版的实例不支持升级引擎版本。
升级过程中对现有业务的访问无影响。

MySQL 5.7升级8.0注意事项

功能限制

限制类别
限制详情
实例限制
仅支持双节点、三节点本地盘实例进行数据库版本 MySQL 5.7升级 MySQL 8.0操作。
若主实例有多个只读实例,只读实例会跟随一起升级。
若主实例存在灾备实例,需要先释放灾备实例,升级完成后再重新创建灾备实例。
升级前,请确保实例状态为运行中,且没有其他正在执行或待执行的任务,如存在,请等待任务结束后再发起数据库版本升级任务。
升级前会对实例进行兼容性检查,检查结果有效时长为24小时,超过24小时后需要重新检查,检查期间如增加只读实例或灾备实例也需要重新执行检查任务。
升级限制
不支持跨大版本升级。例如 MySQL 5.6无法直接升级至 MySQL 8.0,需要先升级到 MySQL 5.7,再升级到 MySQL 8.0。
升级后不支持降级。
说明:
升级完成后,旧版本的备份集无法用于恢复新版本实例,如需进行克隆或回档操作,请选择实例升级后生成的备份集或时间点。旧版本的备份集支持下载后用于本地恢复操作。
数据库限制
数据库实例升级 MySQL 8.0后,参数 sql_mode 中不支持的设置会重置为 MySQL 8.0的默认值。
若 RocksDB 存储引擎中使用了分区表,则不支持升级至 MySQL 8.0,需要修改为 InnoDB 引擎或删除分区表才能进行升级。
数据库实例中若存在 MySQL 8.0预留关键字的表、视图、存储过程、触发器等会导致升级失败。
数据库中的存储过程、触发器、视图或函数中若包含 Changes in MySQL 8.0,则会导致升级失败。
如果您使用了 MyISAM 或 Memory 引擎,则不支持升级,请先转换为 InnoDB 引擎。
说明:
如果您的数据库已是 InnoDB 引擎,但部分表仍是其他引擎,请使用 ALTER TABLE <表名> engine=InnoDB; 命令将表也转换为 InnoDB 引擎后,再进行升级。

升级前准备

请务必仔细对比升级前后版本的差异,建议新建一个 MySQL 8.0版本实例进行语法测试,避免应用使用的低版本语法或特性在升级高版本后不支持。具体版本差异请参见 MySQL 8.0和 MySQL 5.7版本功能差异列表
建议您克隆原实例,先使用克隆实例进行升级测试,确认各项功能正常后再升级原实例。
升级前请检查最近一周是否有全量数据备份的成功记录,必要时请进行一次全量数据备份。
在数据库升级过程中,云数据库 MySQL 服务会出现闪断,请您尽量在业务低峰期执行升级操作,或确保您的应用有自动重连机制。
升级前请确保预留充足的磁盘可用空间。
升级前请查看 保留关键字,您在创建自定义函数的过程中应避免使用这些保留关键字。
为确保 MySQL 在新版本中的稳定性和性能,完成数据库版本升级后,云数据库 MySQL 不再支持查看和修改在 MySQL 8.0中被废弃的 MySQL 5.7的参数,详情可参考 Server and Status Variables and Options Added,Deprecated,or Removed in MySQL 8.0。在数据库版本升级前,建议您备份相关参数的修改记录,以便后续操作和审计。

操作步骤

1. 登录 MySQL 控制台,在实例列表,选择需要升级的实例,在操作列选择更多 > 升级数据库版本
说明:
您也可以单击实例 ID 进入实例详情页,在数据库版本后单击升级

2. 在数据库版本升级窗口,完成如下配置,阅读并勾选数据库版本升级规则,单击升级检查

参数
说明
数据校验延迟阈值
输入数据同步过程中的数据校验延迟阈值,可输入为1-10的整数,延迟阈值设置越小,可能导致升级完成时间越长
切换时间
维护时间内:选择维护时间内,会在实例升级完成后的下一个维护时间内发起切换,设置维护时间请参见 设置实例维护时间
升级完成时:选择升级完成时,会在实例数据搬迁完成时立即进行版本切换。
数据库版本
默认选中 MySQL 8.0。
default_collation_for_utf8mb4
指定字符集的默认排序规则,具体可选字符集排序规则请以实际页面选项为准。
3. 升级检查过程中,系统会拉起检查任务,检查待升级的实例下是否满足无灾备实例、参数配置符合规范要求,检查完成且符合升级条件后,选择切换时间,单击升级。
注意:
从 MySQL 8.0.29开始,Information Schema 中表的查询结果会使用 utf8mb3 替代 utf8。Connector/Net 8.0.28 之前的版本不支持 utf8mb3,遇到 utf8mb3 时会报错:Character Set 'utf8mb3' is not supported by .Net Framework。如果应用程序使用了 Connector/Net,请在升级云数据库 MySQL 版本前,先升级 Connector/Net 到8.0.28及之后版本。
若检查结果涉及关键字冲突,则需要打开忽略关键字错误按钮后才能升级,由于关键字冲突有可能导致业务运行异常或升级失败,因此,请您对 MySQL 8.0版本的实例进行充分验证并符合业务需求后,再选择将目标 MySQL 5.7版本的实例进行升级。
3.1 检查实例下是否有灾备实例,若主实例存在灾备实例,则检查不通过,需要先释放灾备实例,升级完成后再重新创建灾备实例。
3.2 检查参数配置是否符合规范要求,由系统自动检查判定,如不符合规范要求,可根据检查框内的错误信息对应调整。
说明:
升级检查任务执行成功后,请在24小时内执行升级,超时需重新检查。
4. 执行升级后,返回实例列表,在左侧导航栏单击任务列表,可以查看该实例数据库版本的升级任务进度和详情。
5. 在任务列表找到刚才数据库版本升级的任务,可查询任务执行进度,单击其操作列的任务详情,可显示更多升级相关的信息。
6. 当实例状态由配置变更中变为运行中时,即完成数据库版本的升级。
说明:
若升级的切换时间选择维护时间内,则实例升级完成后还未到下一个维护时间时,实例状态会显示待切换,如您需立即切换,可在实例列表的操作列单击立即切换,切换会有秒级别闪断,请确保业务具备重连机制。

附录:MySQL 8.0对比 MySQL 5.7的优势

MySQL 8.0引入了300+项新特性,包括不可见索引、降序索引、函数索引、公用表表达式、窗口函数、快速加列、隐式主键等,这些功能可以使开发更加灵活和高效。
MySQL 8.0对性能进行了改进,引入了直方图、HASH JOIN、并行查询、JSON 列等性能增强的功能,提升了数据库的查询性能和响应时间,使数据库能够更快地处理大规模数据和复杂的查询。
MySQL 8.0支持 caching_sha2_password 认证插件,提高了安全性。
MySQL 8.0 Optimizer 优化器功能增强。
MySQL 8.0复制性能增强。
MySQL 8.0支持创建多值索引、派生条件下推优化。
MySQL 8.0支持读取 MySQL 授权表。
MySQL 8.0支持资源分配控制。

热点问题

升级前,云数据库 MySQL 是否会自动进行数据备份?

云数据库 MySQL 每天实时双机热备,基于数据备份+日志备份(binlog)可支持7日内-1830日内无损恢复。

云数据库可以从 MySQL 8.0降级到 MySQL 5.7吗?

不支持降级。如您需要 MySQL 5.7版本的实例,建议重新购买,给您造成的不便,敬请谅解。

升级期间,是否会出现主备延迟问题?

主实例升级会有数据对比,有可能产生主备延迟。

版本升级完毕时会涉及实例切换,会影响云数据库 MySQL 实例的正常使用吗?

实例的正常升级流程不会影响您的使用,但实例连接会有秒级闪断,建议程序有自动重连功能,并选择实例可维护时间内做切换。

云数据库 MySQL 版本升级需要多长时间?在哪里可以查看升级进度?

数据库的升级时间和您当前数据库中的数据量的大小以及数据复制等有关,因此无法给出具体升级所需时间。 云数据库 MySQL 版本升级会涉及到数据搬迁,通常需要较长时间,请您耐心等待,期间您的业务不受影响,可以访问。
在任务列表可以查看任务执行进度和任务详情,您可关注任务执行进度了解升级情况。

为什么实例一直是“升级待切换”的状态?

有可能是您切换时间选择的是维护时间内切换,实例在升级完成后,将在维护时间内进行切换操作。 如您需立即切换,可在实例列表的操作列单击立即切换,切换会有秒级别闪断,请确保业务具备重连机制。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈