一零五五、mysql8.0高版本数据导入5.6低版本通解

背景

今日想将本机的mysql(8.0)中的数据库文件导出到远程服务器中的mysql(5.6)中,刚开始用source 一直报一大串ERROR,由于数据量比较大,那就直接用图形化工具导吧,连接上远程数据库,建好库,然后运行SQL文件,依旧是unsuccess,如下:

[SQL] Query sql_bs start
[ERR] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
[ERR] /*
 Navicat Premium Data Transfer

找到最开始报错的地方,看到了这个问题,一看就是编码问题,将编码修改后,数据完美导入


问题

这个错误是没有“utf8mb4_0900_ai_ci”这个编码,因为我用的mysql版本是:5.6,这个版本的mysql没有这个编码方式。

如果你不知道你的mysql版本的话,可以百度查一下:mysql版本如何查询

这里提供一个方式,在Navicat软件中–>新建查询–>输入select version();

即可得到自己的mysql版本。


解决

第一种

升级mysql版本到8.0

但,一般情况下,都是因为特殊原因,不能改变版本,所以有第二种方法:

第二种

修改编码方式

        打开sql文件,将文件中的所有utf8mb4_0900_ai_ci替换为utf8_general_ci,同时将utf8mb4替换为utf8。处理sql后重新在mysql库中导入sql文件即可。


结果

猜你喜欢

转载自blog.csdn.net/m0_54925305/article/details/130158830