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

相关推荐
paopaokaka_luck2 分钟前
基于SpringBoot+Uniapp的健身饮食小程序(协同过滤算法、地图组件)
前端·javascript·vue.js·spring boot·后端·小程序·uni-app
Villiam_AY5 分钟前
Redis 缓存机制详解:原理、问题与最佳实践
开发语言·redis·后端
飛_37 分钟前
解决VSCode无法加载Json架构问题
java·服务器·前端
木棉软糖3 小时前
一个MySQL的数据表最多能够存多少的数据?
java
魔尔助理顾问3 小时前
系统整理Python的循环语句和常用方法
开发语言·后端·python
程序视点4 小时前
Java BigDecimal详解:小数精确计算、使用方法与常见问题解决方案
java·后端
愿你天黑有灯下雨有伞4 小时前
Spring Boot SSE实战:SseEmitter实现多客户端事件广播与心跳保活
java·spring boot·spring
每天敲200行代码4 小时前
MySQL 事务管理
数据库·mysql·事务
你的人类朋友4 小时前
❤️‍🔥微服务的拆分策略
后端·微服务·架构
Java初学者小白4 小时前
秋招Day20 - 微服务
java