数据迁移是我们平时工作中经常会遇到的事情,大部分情况下是跨数据库进行操作的,比如数据从 Oracle 迁移至 MySQL,但是有时候也会出现同一种数据库不同版本之间数据迁移的情况,比如数据库版本升级,当然也不排除数据库版本降级的情况。
问题
今天将数据从 MySQL 5.6 导入到本地环境 MySQL 5.5 时,导入失败了,控制台提示 #1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’ 错误,具体如下图所示:
大致意思是“没有 utf8mb4 这个编码”,搜索查询后发现 utf8mb4 是 utf8 的一个衍生形式,utf-8 里的一个字符只能最多支持3个字节,而 utf8mb4 则扩展到一个字符支持4个字节。 utf8mb4编码 只有在 mysql 数据库版本是 5.5.3+ 的时候才支持,网站原 mysql 的版本是 5.6,导入的 mysql 版本是 5.5,因此会出现 #1273 错误。
解决方法
使用文本编辑器,打开 .sql 文件,然后查找 utf8mb4_unicode_520_ci,批量替换为 utf8mb4_unicode_ci ,保存后重新导入发现再没有出错,数据成功导入了。
本文已通过「原本」原创作品认证,转载请注明文章出处及链接。