修改 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