如何处理 MySql 不兼容问题(8 -> 5)

如何处理 MySql 不兼容问题(8 -> 5)

最近,我们将一个系统更新到 UBUNTU 20.04(它已经落后很多了)。新安装包含 MySQL 版本 8。

我们在即将退役的系统上执行的功能之一是备份托管提供商拥有的运行 MySQL 5.x 的 MySQL 远程数据库。令我惊讶的是,MySQL 8 客户端似乎无法连接 MySQL 5 数据库,原因是这个错误

> mysqldump --host=${REMOTE_HOST} --user=${REMOTE_USER} ${REMOTE_DATABASE}
mysqldump: Got error: 1043: Bad handshake when trying to connect

我很好奇处于这种情况的其他人是如何处理这个问题的。

我们无法升级远程数据库(远程数据库由另一个不提供 MySql 8 的机构管理),也无法降级本地数据库(MySQL8 的优势是我们升级的原因之一)。

我真正想做的是将 mysql 5 客户端安装到备用文件夹中,并仅使用该文件夹中的 mysqldump(也是 mysql)进行此连接和任务。但似乎没有官方的 UBUNTU 方法来做到这一点。

我已经看过(甚至安装过)dbdeployer,但它看起来又是一个耗时的研究项目,有它自己的学习曲线才能做到……对于我们想要完成的小事来说,也许有点矫枉过正。

有什么建议可以解决此问题吗?显然,对于 MySQL 开发人员来说,这个问题的优先级比我们低。

答案1

尝试最新的 LTS Ubuntu 版本,目前 Bionic 似乎有 MySQL 5.7。或者 Ubuntu 容器。或者 MySQL 的 5.7 容器,它似乎也是基于 Debian 的。

如果您希望继续使用流行的软件包,通常更容易在旧版本的基础上安装另一个操作系统。同时安装两个版本并不总是容易的。

您始终可以升级或迁移。定义升级此 MySQL 数据库的计划(尽管您没有说明哪个 5.x 主要版本)。MySQL 5.6 已Oracle 扩展支持并且已经没有多少年寿命了。旧版本已经死了。

相关内容