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

有三种解决方法
方法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

你可能感兴趣的:(Docker,PHP,MySql,php,运维,后端)