在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进入之后,查看字符集,已经变过来了