docker mysql 容器中文显示"?"[问号]问题处理


修改 Docker 中 MySQL 容器的编码

找到问题点:

登录mysql,执行下面这个命令查看你数据库的编码格式

show variables like 'char%';


这个latin1,是导致中文显示"?"[问号]的原因

处理方法:

1. 进入MySQL容器


注:my-space-mysql:容器的名称

[docker命令进入]  docker exec -it my-space-mysql /bin/bash
[docker-compose命令进入]  docker-compose exec my-space-mysql bash

2. 备份当前 my.cnf 文件


mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak

3. 退出容器


exit

4. 创建配置文件(my.cnf)


vim my.cnf
[client]
 
default-character-set=utf8
 
[mysqld]
 
character-set-server=utf8
 
collation-server=utf8_general_ci

5. 查看容器长ID


docker inspect -f '{{.ID}}' my-space-mysql

注:my-space-mysql是容器名称

6. 上传文件到容器


docker cp my.cnf <容器长ID>:/etc/mysql

7. 自行登录容器查看并提出容器


8. 重启docker​​​​​​​


[docker命令重启]  
docker stop my-space-mysql
docker start my-space-mysql

[docker-compose命令重启容器]  
docker-compose restart my-space-mysql

9. 查看数据库编码



免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM