- 拉取MySQL5.7镜像
docker pull mysql:5.7
- 启动MySQL容器并挂载数据卷
docker run -p 3306:3306 --privileged=true --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
- 宿主机/mydata/mysql/conf下新建my.cnf,并配置字符编码
vim my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect=SET collation_connection = utf8_unicode_ci
init_connect=SET NAMES utf8
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
- 重启MySQL容器
docker restart mysql
- 进入MySQL容器查看
docker exec -it mysql /bin/bash
cat my.cnf
- 进入MySQL命令行
mysql -uroot -p
- 查看字符编码
show variables like 'character%';
挂载数据卷后,即使删除了MySQL容器,重新启动一个依然会读取到之前的数据;
该博客介绍了如何使用Docker拉取并启动MySQL5.7容器,详细步骤包括挂载数据卷以持久化数据,创建my.cnf配置文件设置字符编码为utf8,以及如何重启和检查MySQL容器。通过这些操作,即使删除容器,数据也能被新容器继承。
399

被折叠的 条评论
为什么被折叠?



