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 了。

相关推荐
Sheffield1 分钟前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
马艳泽1 小时前
win10下运行Start Broker and Proxy报错解决
docker
舒一笑18 小时前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
NineData20 小时前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
用户13573999256601 天前
Windows 从 0 搭建 WSL2 原生 AI 开发环境:Codex + Docker + VSCode
docker
vi_h1 天前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
黑心老魔1 天前
通过 Docker 创建开发环境
docker·开发环境
冬奇Lab2 天前
一天一个开源项目(第41篇):Workout.cool - 现代化开源健身教练平台,训练计划与进度追踪
docker·开源·资讯
梦想很大很大2 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair2 天前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维