Docker 安装 MySQL5.7 和 MySQL8

文章目录

安装 MySQL5.7

拉取镜像

shell 复制代码
docker pull mysql:5.7

拉下来镜像后 执行 docker images

此时我们已经有这个镜像了。

前期准备:

在根目录下创建 app , 在 app 目录下创建 mysql57 文件夹。

启动容器

命令如下:

shell 复制代码
docker run -d -p 3306:3306 \
           --privileged=true \
		   --restart=always \
           -v /app/mysql57/log:/var/log/mysql \
           -v /app/mysql57/data:/var/lib/mysql \
           -v /app/mysql57/conf:/etc/mysql/conf \
           -e MYSQL_ROOT_PASSWORD=你的密码 \
           -e TZ=Asia/Shanghai \
           --name mysql57 \
           mysql:5.7

参数说明:
-d:将容器在后台运行(以分离模式运行)。
-p 3306:3306:将宿主机的 3306 端口映射到容器的 3306 端口,这样可以通过宿主机的 3306 端口访问 MySQL 服务。
--privileged=true:给容器权限特权,允许容器内进程拥有访问主机的权限。
--restart=always:设置容器总是自动重启。
-v /app/mysql57/log:/var/log/mysql:将宿主机的 /app/mysql57/log 目录挂载到容器的 /var/log/mysql 目录,用于存储 MySQL 日志文件。
-v /app/mysql57/data:/var/lib/mysql:将宿主机的 /app/mysql57/data 目录挂载到容器的 /var/lib/mysql 目录,用于存储 MySQL 数据库文件。
-v /app/mysql57/conf:/etc/mysql/conf:将宿主机的 /app/mysql57/conf 目录挂载到容器的 /etc/mysql/conf 目录,用于存储 MySQL 的配置文件。
-e MYSQL_ROOT_PASSWORD=你的密码:设置 MySQL 的 root 用户密码为指定的密码 (将 '你的密码' 替换为你自己的密码)。
-e TZ=Asia/Shanghai:设置容器中的时区为亚洲/上海时区。
--name mysql57:为容器指定一个名字,这里将容器命名为 mysql57。 mysql:5.7:指定所使用的 MySQL 的镜像和版本。

执行:

执行后会出现该容器的 唯一id。

执行 docker ps 命令:

这样 MySQL57就启动成功了。

然后用客户端去连接MySQL就行了 。注意:连接前确保防火墙放开了相关的端口。

安装MySQL8.0

拉取镜像

执行 docker pull mysql:8.0.25

shell 复制代码
docker pull mysql:8.0.25

查看镜像

shell 复制代码
docker images 

前期准备

需要创建挂载容器

在 /app 下创建 MySQL8

启动容器

shell 复制代码
docker run -d -p 3307:3306 \
	--restart=always \
	--privileged=true \
	-v /app/mysql8/log:/var/log/mysql \
	-v /app/mysql8/data:/var/lib/mysql \
	-v /app/mysql8/conf:/etc/mysql/conf \
	-v /app/mysql8/mysql-files:/var/lib/mysql-files \
	-e MYSQL_ROOT_PASSWORD=你的密码\
	-e TZ=Asia/Shanghai \
	--name mysql8 \
	mysql:8.0.25

启动:

docker ps 查看开启的容器

这样 MySQL8 就启动成功了。

然后用客户端去连接MySQL就行了 。注意:连接前确保防火墙放开了相关的端口。

这样 MySQL5.7 和 MySQL8 的启动就OK 了。

相关推荐
JH_Kong18 分钟前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
忆~遂愿42 分钟前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
Fcy6481 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满1 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠1 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Harvey9032 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
陈桴浮海2 小时前
Kustomize实战:从0到1实现K8s多环境配置管理与资源部署
云原生·容器·kubernetes
珠海西格电力科技3 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀3 小时前
Linux环境变量
linux·运维·服务器
zzzsde3 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器