1、出错原因
一开始实例化容器的时候,忘记写配置文件,设置字符集,导致报下面错
2、解决:
2.1、基本方法
在映射的配置文件夹下创建my.cof
,编写如下配置文件,
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
映射关系
进入容器
docker exec -it 容器名 /bin/bash
输入命令
mysql -uroot -p123
SHOW VARIABLES LIKE 'character%
全是utf8 表示设置成功
2.2、仍然报错
但是,当我使用时,发现仍然报错,还是编码问题。
我用软件连接数据库,查看数据库的编码,发现是拉丁
我的原因:
因为之前的容器是拉丁编码,创建后生成的数据存在了容器卷里面,我只删除了容器,并没有把容器卷的数据也删除,导致新的容器继续读取了旧的数据,包括其编码,这才致使编码格式为拉丁。
解决方法:
直接删除自己的映射目录,重启MySQL。
软件连接查询
解决。