解决MySQL版本不一致导致的数据导入失败的问题
在之前的工作中,需要将数据库复制一份到本地,我的mysql 为5.7版本,但线上的为8.0
随后导入就出了各种问题。
MySQL默认是向下兼容的,因此,将低版本数据库的SQL文件导入到高版本数据库时不会报错,但反过来就不行,
高版本数据库的SQL文件在导入低版本数据库时会报错,提示
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE…
看了网上的一些方法,大部分都是修改 SQL语句,我也照着做结果发现不行,偶然之中我发现使用Navicat Premium中的数据传输功能可以轻松地将数据库用目标数据库的语法生成SQL语句。
在要导出的数据库上单击右键,选择数据传输
接着选择目标数据库对应的SQL格式
最后使用生成的SQL就可以成功导入到目标数据库中。
! 注意 新版的Navicat没有这个功能了,我用的是旧版本。
亲测有效! 真的是解决了一个大问题,也感谢原作者!!!!!
原作者: JeffreyLee
链接:https://my.oschina.net/u/1380885/blog/337976