Docker中Mysql乱码问题
Mysql 乱码解决(Mysql可以启动的情况)
- 如果你的mysql可以启动,那么可以直接进入mysql中修改配置文件
步骤
# 进入Mysql容器内部
docker exec -i -t mysql_5.7 /bin/bash
# 进入mysql的配置文件位置,编辑
vim /etc/mysql/mysql.conf.d/mysqld.cnf
#################
# 如果你没有vim或者vi,那就安装它
# 先更新仓库
apt-get update
# 安装vim
apt-get install vim
# 进入mysql的配置文件位置,编辑
vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 在文件中增加如下配置
[mysqld]
default-character-set = utf8
character_set_server = utf8
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
[client]
default-character-set = utf8
# 然后推出去,重启容器
docker restart mysql_5.7
如果你因为容器的配置修改失败,导致容器无法进入,那么就按以下方式
# 获取容器的元数据的信息
docker inspect mysql_5.7(容器名)
# 找到此路径进入
"UpperDir": "/var/lib/docker/overlay2/f192a8abc1d7241dd85a1acbb9c4bb51a885d891362e51289da1899b2e6d9a12/diff"
cd /var/lib/docker/overlay2/f192a8abc1d7241dd85a1acbb9c4bb51a885d891362e51289da1899b2e6d9a12/diff
# 继续进入找到配置文件路径
cd etc/mysql/mysql.conf.d
# 查看配置文件
vim mysqld.cnf
# 同样添加以下配置
[mysqld]
default-character-set = utf8
character_set_server = utf8
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
[client]
default-character-set = utf8
# 重启容器
docker restart mysql_5.7