01
下载镜像
先检查宿主机有没有docker mysql镜像,备注:如果之前没有下载,可以使用docker pull mysql命令下载。
docker images
复制

02
重新命名
docker tag mysql opt/mysql/mysql8.0.32
复制

03
测试
测试opt/mysql/mysql8.0.32:v1.0可用;docker ps查看进程。
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d opt/mysql/mysql8.0.32:v1.0docker psdocker exec -it mysql bash mysql -uroot -p123456
复制
04
登录mysql
显示已登录mysql

05
删除容器
docker stop mysql # 停止容器
docker rm mysql # 删除容器
复制
06
创建并运行新的容器
docker run --restart=unless-stopped -d --name mysql -p 3306:3306 --privileged=true -v etc/localtime:/etc/localtime:ro -v opt/mysql/mysql8.0.32/conf:/etc/mysql/conf.d -v /opt/mysql/mysql8.0.32/data:/var/lib/mysql -v /opt/mysql/mysql8.0.32/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 opt/mysql/mysql8.0.32:v1.0
复制
07
启动容器
可以看到mysql容器已经启动

08
再次登录mysql
docker exec -it mysql bash
复制

09
命令行解释

10
本地登录
本地用Navicat工具连接数据库,192.168.3.117为宿主机IP,填入端口账户密码测试连接。

11
可能遇到的问题
修改字符集
中文报错肯定是字符集问题了,在容器中查看字符集(客户端工具会把部分字符集处理成本地字符集),可以看到大部分都不是utf8
show variables like 'character%';
复制

12
修改配置文件
创建mysql的配置文件
上面已经挂载了mysql的配置文件目录,就可以直接在宿主机操作对应的目录了
在配置文件目录新建一个my.cnf配置文件,写入下面内容,设置客户端和mysql服务器端编码都为utf8
[client]default_character_set=utf8[mysqld]collation_server=utf8_general_cicharacter_set_server=utf8
复制
13
u'tf8支持
mysql容器重启,
再次登录mysql查看show variables like 'character%';,已全部支持utf8中文格式

文章转载自数据中心知识,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【MySQL 30周年庆】MySQL 8.0 OCP考试限时免费!教你免费领考券
墨天轮小教习
2985次阅读
2025-04-25 18:53:11
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
严少安
854次阅读
2025-04-25 15:30:58
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
497次阅读
2025-04-17 17:02:24
MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?
JiekeXu
437次阅读
2025-04-15 23:49:58
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
373次阅读
2025-04-15 14:48:05
MySQL 8.0 OCP 1Z0-908 考试解析指南(二)
JiekeXu
293次阅读
2025-04-30 17:37:37
记录MySQL数据库的一些奇怪的迁移需求!
陈举超
280次阅读
2025-04-15 15:27:53
SQL优化 - explain查看SQL执行计划(下)
金同学
276次阅读
2025-05-06 14:40:00
MySQL 8.0 OCP 1Z0-908 考试题解析指南
青年数据库学习互助会
258次阅读
2025-04-30 12:17:54
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
数据库运维之道
252次阅读
2025-04-28 11:01:25