docker 部署mysql的字符集问题

在docker上部署mysql时,mysql的默认字符集是latin1,这样如果日后有中文会出现异常,不能存储等,因为latin1是不支持中文的。


默认字符集

所以需要将字符集调整为utf8。
方法:

  • 首先启动mysql容器的时候使用命令:
docker run -p 3306:3306 --hostname jiyx-mysql --name jiyx-mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

这样启动之后的字符集是:


重新修改之后
  • 然后需要修改mysql的配置文件,因为修改需要使用vim编辑器,但是mysql容器时没有的,需要安装。需要先执行apt-get update,然后执行apt-get install vim
  • 修改配置文件,执行命令vim /etc/mysql/mysql.conf.d/mysqld.cnf,然后跳转到最后一行,输入
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8
  • 修改完成之后,不需要重启mysql的(个人还重启了容器,最后发现完全没必要),直接mysql -uroot -p进入之后,查看字符集,已经变过来了


    修改之后的字符集
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容