我们在进行mysql 5.7的数据导出导入时遇到问题cannot create a json value from a string with character set ‘binary’。
网上查了一些资料都不是说的很清楚,但是也给了一些线索。
问题聚焦到Json类型的数据上。
Json是mysql 5.7版本才新增的数据类型。
很多旧版本的驱动是不支持的,包括比如我们自己使用的java驱动包或者一些市面上的mysql-front等mysql客户端工具所使用的驱动。
我这里使用的就是mysql-front最新版6.0导出的,但是还是识别不到json类型,把json类型当成string类型导出了。
所以在导入时就会报错。
我们有两种解决方法
因为workbench是mysql官方推出的工具,所以最新版是能支持5,7的json数据类型的。
我这里下载安装了6.3版本的workbench。
重新从workbench中导出sql文件再通过workbench远程连接到需要导入的数据库,导入成功。
注意:必须使用workbench重新导出一遍sql文件,这样导出才是经过最新的驱动的处理的数据类型,如果用其他不支持