![18.04 LTS -> 20.04 LTS 导致 mysql 损坏。不支持升级路径](https://linux22.com/image/941296/18.04%20LTS%20-%3E%2020.04%20LTS%20%E5%AF%BC%E8%87%B4%20mysql%20%E6%8D%9F%E5%9D%8F%E3%80%82%E4%B8%8D%E6%94%AF%E6%8C%81%E5%8D%87%E7%BA%A7%E8%B7%AF%E5%BE%84.png)
https://dev.mysql.com/doc/refman/8.0/en/upgrade-paths.html 我有 v18 LTS,刚刚升级到 v20 LTS,不支持 MySQL 的版本跳转。我现在被困在 mysql 关闭状态,因为 INNODB 表无法升级。
[ERROR] [MY-013168] [InnoDB] Cannot upgrade server earlier than 5.7 to 8.0
我有什么选择?
答案1
您面前有几种选择:
- 清除系统中的 MySQL,记得
/etc/mysql
也删除目录,然后重新安装并从最新的备份中恢复 - 启动虚拟机,安装 MySQL 5.7(是的,5.7),停止数据库,将现有
/etc/mysql
文件复制到虚拟机的数据目录,启动 MySQL 并让其升级表,然后:- 用于
mysqldump
提取数据并将其加载到 20.04 安装中,或者... - 将虚拟机升级到 MySQL 8.0,然后将新更新的数据文件复制到 20.04 安装中
- 用于
- 启动一个 Docker 容器,用于 MySQL 实例,版本介于你正在运行的版本和最新的 5.7 之间,然后从那里运行你的数据库
还有其他几种选择,但它们需要更多工作,并且与上述三种选择相比,它们并没有带来任何明显的好处。通常,当我必须处理这种情况时,选择 2 是最快的成功途径。