MySQL 8.0 升级到 8.4 LTS:慢查询、复制与迁移验收清单
MySQL 8.0 已于 2026 年 4 月结束生命周期。本页提供升级前只读盘点、迁移验收,以及经过 MySQL 8.0/8.4 隔离验证的慢查询与复制延迟证据。
先冻结版本、插件、认证、驱动、复制、备份与回退基线,再在隔离环境验证 8.4 LTS;慢查询和复制问题继续按脱敏只读证据分层,不自动执行生产变更。
适用对象
- MySQL 8.0/8.4 可先读取表与索引目录,再从 performance_schema 获取最近 24 小时 Top 50 digest 聚合。
- 摘要卡不读取 DIGEST_TEXT,只输出 schema 哈希、digest、调用次数、耗时、扫描行数和最近观察时间。
- 复制延迟卡把接收线程、应用线程、worker错误计数和配置延迟汇总为单行状态,不输出复制身份或错误原文。
- `EXPLAIN`用于查看计划;`EXPLAIN ANALYZE`会实际运行语句,生产使用前必须单独评估权限和影响。
- 三张卡均不要求公开生产密码、完整客户SQL或复制坐标;容器验证不等于客户或生产环境已验证。
- MySQL 8.0 已于 2026 年 4 月随 8.0.46 结束生命周期;升级到 8.4 LTS 前必须完成兼容、恢复、回退和验收证据。
MySQL 8.0结束生命周期后,先盘点再决定升级路径
数据库继续运行不等于仍在正常维护周期;不要在缺少兼容、恢复和退出证据时直接切换。
MySQL 8.0发布说明确认,该系列在2026年4月随8.0.46到达生命周期终点,并建议升级到最新MySQL 8.4 LTS或Innovation版本。对企业而言,第一步是冻结实例版本、发行来源、操作系统、插件、认证、SQL mode、字符集、存储引擎、复制、备份和应用驱动事实,而不是直接执行升级。
可按原地升级、逻辑导入导出或复制迁移评估路径。无论选择哪一种,都应先在隔离环境完成兼容检查、恢复与失败演练,再以数据、功能、复制、性能、备份恢复、监控、安全和回退窗口作为生产验收条件。
| 路径 | 更适合 | 最低证据 | 主要停止条件 |
|---|---|---|---|
| 原地升级 | 实例少、停机窗口明确、依赖相对简单 | 同构演练、完整恢复、空间与回退窗口 | 恢复未验证或失败后无法退出 |
| 逻辑迁移 | 需要清理对象或重建布局且数据量可控 | 对象清单、数据对账、增量衔接 | 关键对象遗漏或切换窗口不可接受 |
| 复制迁移 | 需要并行环境并缩短最终切换窗口 | GTID/binlog连续性、延迟、追平和回退演练 | 拓扑责任不清或增量断点不可控 |
慢查询排查前,先收集哪几类证据
把业务现象、SQL证据、执行计划、数据库状态和变更时间线放到同一个时间窗。
有效的首轮材料应能回答五个问题:什么时候慢、哪个业务动作受影响、哪类SQL出现、执行计划看到什么、当时数据库和基础资源发生了什么。只有某一项异常,不足以直接推出修改索引或参数。
工作表使用脱敏SQL或SQL指纹。客户名称、订单号、账号、IP、完整业务条件和密码不应进入公开文件;需要原始材料时只保存受控引用。
| 证据组 | 填写内容 | 可以帮助判断 | 不能直接证明 |
|---|---|---|---|
| 业务窗口 | 开始/结束时间、现象、影响范围、基线 | 问题是否集中在特定窗口 | 不能单独定位SQL根因 |
| 慢日志 | 阈值、摘要、耗时、锁、扫描/返回行 | 哪些语句值得进一步复核 | 没有记录不代表没有慢查询 |
| 执行计划 | 访问类型、估算行、实际行边界、临时表/排序 | 优化器如何计划执行 | 不能替代业务语义和负载判断 |
| 数据库状态 | 索引、表规模、统计信息、锁、连接 | 计划和并发是否存在风险信号 | 不能自动授权变更 |
| 资源与变更 | CPU/IO、发布、结构/数据量变化 | 是否存在共同时间线 | 相关不等于因果 |
先只读复核,再决定是否进入变更
先固定时间窗和业务影响,再收集最小证据并核对缺口。若只读材料已能支持候选原因,由DBA或系统负责人评审下一步;涉及实际执行、加索引、更新统计信息、改参数或SQL发布时,必须单独审批和回滚。
慢查询首轮复核五步
- 01
01
固定窗口
记录时区、业务现象、影响对象和近期变更。
- 02
02
脱敏聚合
使用SQL指纹和慢日志摘要,避免复制客户敏感条件。
- 03
03
查看计划
优先使用EXPLAIN;EXPLAIN ANALYZE需评估实际执行风险。
- 04
04
交叉核对
对照索引、统计信息、锁、连接、CPU/IO和数据量。
- 05
05
人工决定
证据不足则补采;证据支持时再提交变更评审。
本流程不自动执行SQL、改索引、更新统计信息、改参数或发布代码。
两步只读路径:先目录,再指纹摘要
两张权威 SQL 卡均在全新 MySQL 8.0.46 与 8.4.10 容器通过隔离合成样例;生产与客户环境仍需单独授权和回读。
第一步 `SQL-MY-02` 只读取一个明确 schema 的表与索引目录,最多 200 行;第二步 `SQL-MY-03` 只读取 performance_schema digest 摘要,固定最近 24 小时和 Top 50。执行前由数据库负责人确认 schema、最小只读权限和 10 秒客户端超时。
`performance_schema` 关闭时,摘要卡返回 `performance_schema_disabled`;权限不足时数据库拒绝;目标 schema 没有窗口内样本时返回空结果。这三种情况不能互相替代,也不能把空结果写成“没有慢查询”。
| 看到什么 | 今天可以做 | 不得直接做 |
|---|---|---|
| 空结果或功能关闭 | 确认采集条件、权限、时间窗与消费者状态,记录证据缺口 | 不得擅自开启日志、消费者或修改实例参数 |
| 少量高耗时 digest | 对照调用次数、扫描行数、业务窗口、索引目录和近期变更 | 不得仅凭排序直接加索引或改 SQL |
| 多个范围同时异常 | 由负责人确认优先级;需要固定范围复核时进入数据库健康体检 | 不得上传客户 SQL、连接串、表名或生产日志到公开入口 |
Receiver到业务新鲜度:先形成五层证据,再决定控制动作
SQL-MY-08已在MySQL 8.0.46与8.4.10隔离异步复制中验证;MySQL 5.7、Group Replication、多源复制、托管云和客户生产环境仍未验证。
公开SQL只输出单行聚合状态,用于区分接收链路、应用链路、worker错误计数和配置延迟。业务新鲜度需要业务方用水位或签收时间单独确认,不能由线程状态替代。
看到接收或应用异常时,先保留时间窗和变更记录。START/STOP REPLICA、跳过事务、重建副本、故障切换和修改延迟参数都是生产控制动作,必须由数据库与业务负责人另行批准。
| 证据层 | 只读回答 | 仍需补充 | 不得直接推出 |
|---|---|---|---|
| Receiver | 接收通道和线程是否处于可观察状态 | 网络、源端、认证和变更窗口 | 不能直接认定源端或网络根因 |
| Applier | 应用协调线程是否运行 | 事务积压、锁等待和资源证据 | 不能直接授权重启应用线程 |
| Worker | 并行worker数量和错误计数是否变化 | 脱敏受控错误证据和事务责任 | 不能直接跳过事务或重建 |
| 配置延迟 | 是否存在计划延迟及其相对时间窗 | 业务用途和恢复目标 | 计划延迟不等于异常 |
| 业务新鲜度 | 不由线程状态自动回答 | 业务水位、签收时点和消费者状态 | 线程运行不等于数据已经可用 |
下载慢查询与复制延迟SQL卡和合成结果样例
SQL 文件是 inchTraining 权威版本的公开副本;合成 CSV 只用于理解字段,不含客户或生产数据。没有采集条件时应标记“缺失”或“需授权”,不要用推测补齐。需要人工风险分级和整改 Top 5 时,再进入 B-HC 固定范围服务。
本节判断
- 只收集 digest、聚合指标和受控证据引用,不读取完整 SQL 文本。
- EXPLAIN ANALYZE会实际执行语句,不属于默认只读采集步骤。
- B-HC不包含自动调优、生产改库或效果承诺。
参考依据
以下来源用于确认市场趋势、政策背景和术语边界;具体落地方案仍以客户的数据范围、权限和交付目标为准。
常见问题
摘要卡会不会输出完整 SQL、库名或表名?
不会。SQL-MY-03不读取DIGEST_TEXT,schema只输出固定盐SHA-256,结果只包含digest与聚合指标。数据库负责人仍需把下载脚本视为R2只读卡,在授权范围内执行。
performance_schema关闭或没有样本时怎么办?
关闭时返回performance_schema_disabled;目标schema在24小时窗口内没有匹配摘要时返回空结果;权限不足则数据库拒绝。这些状态只能说明当前采集条件,不足以排除慢查询。
看到慢SQL后是否应该先加索引?
不应默认这样做。先核对业务窗口、执行计划、现有索引、表规模、统计信息、写入成本和近期变更,再由负责人决定是否进入变更评审。
EXPLAIN和EXPLAIN ANALYZE有什么执行边界?
EXPLAIN用于查看优化器计划;MySQL 8.4官方文档明确说明EXPLAIN ANALYZE会运行语句并返回实际时间和行数,因此生产使用前必须评估权限、负载和语句副作用。
为什么慢查询日志里没有记录也不能直接排除问题?
慢日志可能未启用,阈值、最小扫描行数或输出位置也可能不同;日志顺序与锁等待边界还会影响解释。应记录采集配置和时间窗。