Chinaunix首页 | 论坛 | 博客
  • 博客访问: 348157
  • 博文数量: 54
  • 博客积分: 497
  • 博客等级: 下士
  • 技术积分: 612
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-16 20:05
个人简介

行动…Don\'t ever let somebody tell you, you can\'t do something. you got a dream, you gotta protect it. people can\'t do something themselves they wanna tell you you can\'t do it.if you want something. go get it.

文章分类

全部博文(54)

文章存档

2021年(3)

2018年(1)

2017年(18)

2016年(7)

2015年(4)

2013年(1)

2011年(20)

我的朋友

分类: Mysql/postgreSQL

2021-12-02 12:07:38

场景:因需求用到docker在arm平台上拉取mysql.没有找到5.7的版本包,直接拉取8.在数据导入时报错。因5中用的字符集为utf8而8开始使用的是utf8mb4,故做了如下修改:
1.在my.cnf 文件中添加
[mysqld]
character-set-server=utf8mb4
innodb_file_format=Barracuda   #此行是解决遇到的文件类型问题,可以不添加
innodb_file_per_table=1    #此行是解决遇到的文件类型问题,可以不添加

[client]
default-character-set=utf8mb4

2.编辑导出的数据库脚本,把5中的utf8替换掉
/*!40101 SET NAMES utf8mb4 */;    #此行为最前面的注释行必须修改,不修改导入会报错。

sed -i 's/utf8_bin/utf8mb4_bin/g' databasename.sql
sed -i 's/CHARSET=utf8/CHARSET=utf8mb4/g' databasename.sql
sed -i 's/utf8_unicode_ci/utf8mb4_0900_ai_ci/g' databasename.sql

注:可以用grep把脚本中关于utf8的内容提取出来,方便查看替换。


阅读(4355) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~