1、问题描述:
公司要求将数据库从5.7 升级至mysql 8.0 , 将原库整体备份后再导入新库报错,提示编码错误。
2、解决过程
问题分析:
1) mysql 5.7 的编码是utf8 ,对应的是utf8mb3 , 而mysql 8.0 中utf8 编码默认是utf8mb4,
所以造成编码不一致问题。
2)备份过程中,通过指定编码 --default-character-set=utf8mb4 也是不生效的。
解决方案:
1、sed -i 's/utf8/utf8mb4/g' bak.sql
2、然后再导入到新库。