Docker入门系列之手把手教学安装MySQL

相信我们现在市面上基本都是使用容器系列来运行我们的服务,最为熟知的便是Docker了。

正好我自己最近也在学习复习docker的使用,所以就把软件的安装过程记录下来,帮助大家也帮助自己做一个笔记记忆,方便自己后面的回顾。下面就跟着给我一步一步的来进行MySQL的安装吧。

我们先去Docker官网,然后在搜索框中搜索MySQL,回车,找到我们想要的版本,大家就按照我的这个版本来就行。

将命令贴到我们的ssh操作面板,执行等待下载好MySQL镜像

下载好了之后我们可以使用命令 docker images 来查看已经下载好的镜像,如果mysql下载失败的话大家看看是不是已经有存在的mysql镜像了,我们可以通过docker images命令查看已存在镜像,执行docker rmi -f 要删除的镜像ID,如

强制删除该镜像(包含在运行中的镜像),删除后再重新安装,还不行的话大家自行百度一下,一般安装都不会有什么特殊的问题出现

这个时候我们可以使用命令来启动MySQL了,命令是docker start mysql,当然我们想要停止运行MySQL可以使用命令 docker stop mysql

不过我们一般都会将MySQL设置为docker运行后自动运行mysql,这时候我们可以利用docker run来执行一个脚本,帮助我们来对刚下载的镜像做一些个人的调整设置

js 复制代码
docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.3.0

解释一下每行命令的含义:

js 复制代码
-   `docker run`: 运行一个 Docker 容器
-   `-p 3306:3306`: 将容器的 3306 端口映射到主机的 3306 端口,这样可以通过主机访问 MySQL 数据库
-   `--name mysql`: 指定容器的名称为 "mysql"
-   `-v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files`: 将主机的 `/usr/local/docker/mysql/mysql-files` 目录挂载到容器的 `/var/lib/mysql-files` 目录,用于存储 MySQL 文件
-   `-v /usr/local/docker/mysql/conf:/etc/mysql`: 将主机的 `/usr/local/docker/mysql/conf` 目录挂载到容器的 `/etc/mysql` 目录,用于存储 MySQL 的配置文件
-   `-v /usr/local/docker/mysql/logs:/var/log/mysql`: 将主机的 `/usr/local/docker/mysql/logs` 目录挂载到容器的 `/var/log/mysql` 目录,用于存储 MySQL 的日志文件
-   `-v /usr/local/docker/mysql/data:/var/lib/mysql`: 将主机的 `/usr/local/docker/mysql/data` 目录挂载到容器的 `/var/lib/mysql` 目录,用于存储 MySQL 的数据文件
-   `e MYSQL_ROOT_PASSWORD=root`: 设置 MySQL 的 root 用户密码为 "root"
-   `-d mysql:8.3.0`: 使用标签为 "8.3.0" 的 MySQL 镜像创建容器

这里我之前已经执行过一个MySQL的挂载容器命令,所以现在再执行的话会报错,我们可以将mysql的容器名称换一个,或者将之前的那个删除掉,然后再执行docker run脚本命令具体操作如下图 现在命令执行完后没有报错信息,我们可以通过docker ps -a 命令查看MySQL容器是否已经成功运行起来

这时可以看到我的mysql容器状态是Exited也就是没有运行起来,我们需要去看一下MySQL的日志信息,使用命令docker logs mysql 查看日志信息

文件不存在就去创建一个 mkdir -p /usr/local/docker/mysql/conf.d 然后修改一下Docker运行命令

js 复制代码
docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \
-v /usr/local/docker/mysql/conf.d:/etc/mysql/conf.d \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.3.0

启动成功后我们就可以进入容器,登录数据库了

我们一般情况下会设置MySQL自动启动,可以执行 docker update mysql --restart=always命令,这样我们后面docker启动的时候MySQL就会自动启动运行了

接下来就可以使用我们的MySQL客户端工具进行连接了,输入自己的服务器ip地址,端口号是默认的3306,输入用户名密码,提示连接成功即可

相关推荐
2601_962065257 分钟前
[MySQL] SQL优化之性能分析
java·sql·mysql
yi.Ist17 分钟前
数据定义语言-DDL操作
数据库·学习·mysql·oracle·大海豚
阿kun要赚马内20 分钟前
MySQL 索引基础
后端·mysql
小范同学_20 分钟前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
码事漫谈41 分钟前
我啥都能做,却不知道做什么了
后端
geovindu1 小时前
CSharp: 万年历
开发语言·后端·c#·.net
予昊1 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
2601_962203511 小时前
【SpringAI入门】初识SpringAI
java
weixin_461408582 小时前
Mybatis-flex小记
java·开发语言·mybatis
2601_962177132 小时前
【MySQL篇】聚合查询,联合查询
android·java·mysql