docker安装mysql:5.7(利用数据卷挂载方式启动)
docker安装mysql:5.7
1、Docker Hub上面查找mysql镜像
2、拉取镜像
docker pull mysql:5.7
3、新建mysql容器实例
docker run -d -p 3306:3306 --privileged=true
-v /zzyyuse/mysql/log:/var/log/mysql
-v /zzyyuse/mysql/data:/var/lib/mysql
-v /zzyyuse/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456
--name mysql mysql:5.7
将日志、数据、配置文件映射到宿主机上,做个数据卷,防止删容器跑路。
4、新建my.cnf文件
通过容器卷同步给mysql容器实例。
my.cnf文件如下:
主要是设置下字符集,要不插入中文的时候会显示?
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
5、重新启动mysql容器实例再重新进入并查看字符编码
docker restart mysql
docker exec -it mysql /bin/bash
SHOW VARIABLES LIKE 'character%';
6、新建库新建表插入中文测试
create database db01;
use db01;
create table t1(id int,name varchar(20))
insert into t1 values(1,'zhangsan')
insert into t1 values(2,'李四')
7、删除当前容器实例并重新创建实例,之前的数据是否还在?
删除当前容器:
docker rm -f mysql
再次创建实例,数据卷映射规则还是和之前的一样
docker run -d -p 3306:3306 --privileged=true
-v /zzyyuse/mysql/log:/var/log/mysql
-v /zzyyuse/mysql/data:/var/lib/mysql
-v /zzyyuse/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456
--name mysql mysql:5.7
可以看到,之前的数据还是在的,防止了某些别有用心的人删容器跑路。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器