docker下安装mysql5.7教程

1. 环境准备

准备好Linux系统机器,并安装好docker,阅读这篇文章前请先了解清楚docker的基本知识并且会熟悉运用docker的常用命令。学习docker基础知识可以参考这篇博文
安装好并启动docker后就可以开始安装mysql了

2. docker容器下安装mysql

执行以下命令直接下载mysql5.7版本镜像

#dokcer pull 镜像名:版本号
docker pull mysql:5.7

安装好后再执行 docker images命令,查看到mysql5.7镜像则安装成功
在这里插入图片描述

此时,可以启动mysql,我们先按以下命令启动

# docker run -p 对外暴露的端口:mysql运行端口 --name 容器名称 -e MYSQL_ROOT_PASSWORD=mysql连接密码 -d 镜像名:版本号
# -p 对外暴露的端口:mysql运行端口		
# --name 容器名称	//镜像首次启动时会自动创建容器,需要给容器命名
# -e MYSQL_ROOT_PASSWORD=mysql连接密码		//mysql镜像容器创建时必须设置连接密码,否则无法创建容器
# -d 后台运行
docker run -p 3315:3306 --name mysql5.7 \
-e MYSQL_ROOT_PASSWORD=asd123456 \
-d mysql:5.7

执行完后再执行docker ps命令查看容器是否启动成功,出现下图结果则启动成功
在这里插入图片描述
如果没有图上结果,则是启动失败,可以执行以下命令查看容器运行日志来排查

# docker logs --tail=行数 容器名称
docker logs --tail=100 mysql5.7

启动成功后,由于mysql镜像已经开启了远程访问,因此我们可以直接在我们的物理机上通过数据库连接工具连接访问.

这里要注意的是,需要通过mysql镜像运行设置的对外暴露的端口去连接访问
在这里插入图片描述

3. mysql数据和配置挂载

以上操作只是创建了mysql镜像容器并且以默认配置启动,当容器被删除则数据和新加的配置全部清空。因此我们需要对数据持久化以及配置持久化到宿主机上。需要采用docker容器数据卷实,目录的挂载来实现
执行以下命令:

# 创建需要挂载的目录(自定义,这里只是举例,不一定要按照例子来)
mkdir -p /usr/local/docker/mysql5.7/conf
mkdir -p /usr/local/docker/mysql5.7/data
mkdir -p /usr/local/docker/mysql5.7/log
# 停止mysql5.7容器(docker stop 容器id)
docker stop mysql5.7
# 删除mysql5.7容器(docker rm 容器id)
docker rm mysql5.7

说明:mysql5.7容器再创建后不能用命令去挂载目录,只能通过修改配置文件才可以实现,修改会比较麻烦,这里就不细讲了。我们采用一种简单的方法,就是先把原来的容器删除,使用命令创建新容器并挂载指定目录
继续执行以下命令:

# -v 宿主机的被挂载路径:容器内需要挂载的路径
docker run -p 3315:3306 --name mysql5.7 \
-v /usr/local/docker/mysql5.7/conf:/etc/mysql/mysql.conf.d \
-v /usr/local/docker/mysql5.7/log:/var/log/ \
-v /usr/local/docker/mysql5.7/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=asd123456 \
-d mysql:5.7

创建成功后,我们可以从宿主机上行查看华仔目录,比如以下结果则挂载成功
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44947701/article/details/125957909