docker 的 mysql 容器不能输入中文解决方法


思路: 检查系统支持的语言 => 检查mysql 支持的语言

有三种解决方法
方法1. 宿主机进入的时候 增加一个环境变量 (本次进入docker 容器有效)
sudo docker exec -it mysql env LANG=C.UTF-8 mysql -uroot -p

方法2.修改docer容器内部的环境变量 (先进到mysql容器的bash 再从bash进入mysql有效)
[root@bx ~]$sudo docker exec -it mysql bash
root@6271a2e8e4b2:~#echo "export LANG='C.UTF-8'" >> ~/.bashrc ; bash ;echo $LANG
用此方法 修改后 进入mysql容器的方法是
[root@bx ~]$sudo docker exec -it mysql bash
[root@bx ~]$mysql -uroot -p
以上方法修改完宿主机如果直接输入 sudo docker exec -it mysql mysql -uroot -p 这样改的字符集是不生生效

方法3 需要重新构建 docker 容器 (优点 永久生效一劳永逸)

构建docker 容器时候 时候增加一个变量 LANG=C.UTF-8 增加方法:
1 命令行          语法 docker run -d mysql -e LANG="C.UTF-8"
2 docker-compose.yml  语法
                 environment:
                  LANG: C.UTF-8

 

 

借鉴博客

https://www.cnblogs.com/sansheng93/p/11341640.html

https://blog.csdn.net/weixin_35545563/article/details/114010216


免责声明!

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



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