You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL升级至8.2失败且无法回退旧版本的解决方案求助

MySQL升级至8.2失败且无法回退旧版本的解决方案求助

我最近尝试把MySQL升级到8.2版本时遭遇了失败,具体报错日志如下:

2024-01-16T22:04:31.970007Z 4 [System] [MY-013381] [Server] Server upgrade from '80100' to '80200' started.

2024-01-16T22:05:05.196376Z 4 [Warning] [MY-011836] [InnoDB] sdi_delete failed: Record Doesn't exist: tablespace_id: 1 Key: 1 4247748

2024-01-16T22:05:05.349958Z 4 [ERROR] [MY-013178] [Server] Execution of server-side SQL statement '-- Copyright (c) 2018, 2023, [blah blah blah] -- Alters the sys_config table for upgrades -- ALTER TABLE sys_config CHARACTER SET utf8mb4; ' failed with error code = 3958, error message = 'Failed to delete sdi for sys.sys_config in sys/sys_config due to missing record.'.

2024-01-16T22:05:05.352770Z 0 [ERROR] [MY-013380] [Server] Failed to upgrade server.

2024-01-16T22:05:05.352787Z 0 [ERROR] [MY-010119] [Server] Aborting

而且mysqld_safe还一直在循环重试,根本停不下来。

我查了不少类似问题,也看了MySQL官方文档里的故障排查指南,说这种情况得回退到旧版本来整理数据。但当我尝试启动旧版本时,又遇到了新的错误:

2024-01-16T22:11:18.042211Z 1 [ERROR] [MY-014061] [InnoDB] Invalid MySQL server downgrade: Cannot downgrade from 80200 to 80035. Downgrade is only permitted between patch releases.

看样子这次失败的升级并没有完全回滚到之前的状态——数据目录里的某些部分已经认定版本是80200了,但实际上升级根本没完成。现在我连任何版本的MySQL都启动不了,根本没法清理表结构。想请教各位大佬:

  • 有没有不需要启动mysqld就能运行的工具可以用来修复这个问题?
  • 有没有办法手动修改sys_config表(比如直接删掉它),让后续的升级能正常进行?删掉之后MySQL会不会自动重建这个表?

备注:内容来源于stack exchange,提问作者Jerry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 10:13:05