Docker mysql5.7.30 设置字符集,解决中文乱码问题

1 修改my.cnf文件

我的mysql版本为5.7.30,文件位置在 /etc/mysql/my.cnf
(我把此文件映射到本地了,
我的这个文件里面是空的,我不知道里面是不是应该有内容,但我把以下内容添加进去,重启就生效了)
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8

2 容器重启(我的容器名字为mysql5730)

docker restart mysql5730

3 进入容器验证

docker exec -it mysql5730 bash//进入容器
mysql -uroot -p//登录MySQL,输入密码
show variables like “%char%”;//查看字符集
4 解决表无法插入中文

经过上面的修改后,以后数据库创建的表默认的编码都是utf8,可以插入中文了,但是在修改编码前已经创建的表编码还是latin1,还是不能插入中文,有两种解决办法:

第一种方法:最直接明了,删表重建,但是有些麻烦

https://blog.csdn.net/dy_miao/article/details/91461581

https://blog.csdn.net/qq_36237569/article/details/82285599

发表评论