docker mysql 不能输入中文解决方法
2020-10-24 本文已影响0人
Kare
- 下载一下
docker pull mysql:5.7.17
- 启动一下,注意容器卷的地址哈,启动需要指定编码。不然mysql中不能输入中文
docker run -p 3306:3306 --name mysql_kare \
-v $PWD/conf:/etc/mysql \
-v $PWD/logs:/var/log/mysql \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7.17 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci
- 查看一下现在启动的 container
docker ps // 查看当前运行的 container
docker ps -a // 查看历史运行的记录
docker ps
第一列就是 CONTAINER ID
, 找到之后就可以进入 container.
- 进入 container
docker exec -it container id /bin/bash
例如:docker exec -it dddf2378853e /bin/bash
进入了系统,但是你会发现这里无法输入中文,可以使用locale -a
查看当前容器支持的编码格式。那么我们需要退出,在加入 container 时直接指定一个编码即可。
- 运行下面命令即可
docker exec -it dddf2378853e env LANG=C.UTF-8 /bin/bash
- 进入 mysql
mysql -uroot -p
然后就可以输入中文了.
下面附加一个 docker 启动 redis 的方式,以 AOF
方式启动
docker run -p 6379:6379 \
--name redis_for_docker \
-v $PWD/data:/data \
-v $PWD/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-d redis:6.0.4 \
redis-server /usr/local/etc/redis/redis.conf --appendonly yes