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

相关推荐
科技资讯早知道8 分钟前
java计算机毕设课设—坦克大战游戏
java·开发语言·游戏·毕业设计·课程设计·毕设
程序员大金1 小时前
基于SpringBoot+Vue+MySQL的装修公司管理系统
vue.js·spring boot·mysql
小比卡丘1 小时前
C语言进阶版第17课—自定义类型:联合和枚举
android·java·c语言
gorgor在码农1 小时前
Mysql 索引底层数据结构和算法
数据结构·数据库·mysql
-seventy-1 小时前
SQL语句 (MySQL)
sql·mysql
xmh-sxh-13141 小时前
java 数据存储方式
java
liu_chunhai1 小时前
设计模式(3)builder
java·开发语言·设计模式
姜学迁2 小时前
Rust-枚举
开发语言·后端·rust
爱学习的小健2 小时前
MQTT--Java整合EMQX
后端
一般路过糸.2 小时前
MySQL数据库——索引
数据库·mysql