进入容器:
docker exec -it 容器id/容器
名称 bash
cp时容器中的目录写法 容器
名称/容器id:容器目录
退出容器使用exit
1 首先去
MysqL容器中寻找
MysqL.cnf
文件,一般是在 /etc/
MysqL/conf.d/ 下。
执行命令 docker exec -it
MysqL bash 命令进入
MysqL容器,
cd /etc/
MysqL/conf.d/
ls
//这里不能用命令 ll
能看到
MysqL.cnf
文件
2 exit
退出容器,将刚才的
MysqL.cnf
文件 cp 到物理机任意目录,我是在 /usr/local/ 下专门建了
一个临时目录 temp/
docker cp
MysqL:/etc/
MysqL/conf.d/
MysqL.cnf /usr/local/temp/
3 cd /usr/local/temp/ 对
配置文件进行编辑 vi
MysqL.cnf
# For explanations see
#
http://dev.mysql.com/doc/mysql/en/server-system-variables.html
[client]
default-ch
aracter-set=utf8
[
MysqL]
default-ch
aracter-set=utf8
[
MysqLd]
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
ch
aracter-set-server=utf8
collation-server=utf8_general_ci
skip-ch
aracter-set-client-handshake
保存
退出
4 将
文件 cp 到容器指定位置,覆盖原有的
配置文件
docker cp /usr/local/temp/
MysqL:/etc/
MysqL/conf.d/
MysqL.cnf
5 重启
MysqL
docker restart
MysqL
6 确认编码是否成功更改
进入容器 docker exec -it
MysqL bash
登录MysqL MysqL -uroot -p -h localhost
执行命令
MysqL> show variables like'char%';
可以看到说明成功将字符编码更改为 utf8
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| ch
aracter_set_client | utf8 |
| ch
aracter_set_connection | utf8 |
| ch
aracter_set_database | utf8 |
| ch
aracter_set_filesy
stem | binary |
| ch
aracter_set_results | utf8 |
|
character_set_server | utf8 |
| ch
aracter_set_sy
stem | utf8 |
| ch
aracter_sets_dir | /usr/share/
mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.01 sec)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。