思路: 檢查系統支持的語言 => 檢查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