mysql导入报编码错误问题解决

mysql导入报错 Unknown collation: 'utf8mb4_0900_ai_ci'

背景:从本地数据库中导出mysql文件,在宝塔面板安装的mysql导入的时候报错了,

经网上查询,是因为mysql数据库版本不一致的问题导致

本地版本是8.0.1.6

mysql导入报编码错误问题解决

 

而生产环境的版本是5.6.4.8

mysql导入报编码错误问题解决

一共有3种解决办法

 1、检查mysql数据库的版本,发现两边数据的版本不一致,我本地的版本是5.7的,由上面报错的信息可知数据源mysql的版本是8;

   2、由于本地的mysql数据库5.7的版本并不支持“utf8mb4_0900_ai_ci”这种排序规则,而字符集“utf8mb4 -- UTF-8 Unicode”是支持的,所以只需要修改表的排序规则即可;

   3、用编辑器打开sql文件,将排序规则“utf8mb4_0900_ai_ci”改为“utf8mb4_general_ci”,重新执行sql文件,执行成功。

 

刚开始尝试在宝塔面板切换数据库版本,但是由于使用的服务器配置是1核,无法实现

mysql导入报编码错误问题解决

于是使用了第3种方法,在不需要切换版本的情况下,成功导入了mysql文件