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,输入用户名密码,提示连接成功即可

相关推荐
IT成长史5 分钟前
deepseek梳理java高级开发工程师微服务面试题
java·微服务
茶本无香5 分钟前
Feign+Resilience4j实现微服务熔断机制:原理与实战
java·微服务·feignclient·熔断·resilience4j
遇见火星6 分钟前
Ansible模块——从控制节点向目标主机复制文件!
java·服务器·ansible
小码ssim9 分钟前
通过POI实现对word基于书签的内容替换、删除、插入
java·word
野木香18 分钟前
mysql8常用sql语句
数据库·sql·mysql
香饽饽~、23 分钟前
函数式方法的实现(JDK8+)
java·服务器
付朝鲜34 分钟前
用自写的jQuery库+Ajax实现了省市联动
java·前端·javascript·ajax·jquery
小赵面校招36 分钟前
Spring Boot整合MyBatis全攻略:原理剖析与最佳实践
java·spring boot·mybatis
曼岛_40 分钟前
[Java实战]Spring Boot 3 整合 Ehcache 3(十九)
java·spring boot·spring
意倾城41 分钟前
Spring Boot 配置文件敏感信息加密:Jasypt 实战
java·spring boot·后端