一直以来,我们使用MySQL,进行版本升级,比如从5.7.11升级到5.7.12,这种小版本升级是一个很小的事情,即使升级过程中或在升级之后,想要回滚,也很方便,直接将mysqlserver的二进制文件替换回来即可。但是从MySQL8.0开始,小版本升级将变得不再可逆,没有办法轻松做到从8.0.18回退到8.0.17。
先来看一个例子,从8.0.17版本升级到8.0.18版本,查看mysql日志,如下:
一切顺利,成功升级到8.0.18版本。但是我们发现升级完成之后,有一些已有的业务工作的不正常,与预期不符合,此时,我们想要回滚到8.0.17版本。使用8.0.17版本的mysqlserver启动数据库,发现无法启动,报错,如下:
MySQL8.0小版本升级不支持回退
在官方文档中已明确说明,MySQL8.0不支持回退到5.7,8.0高版本不支持回退到8.0低版本,如果想回滚,需要在升级前做好备份,使用备份进行回滚。官方文档如下: