Linux使用Docker安装Mysql8(完整篇)


一、拉取镜像

#选择要拉取的镜像
docker search mysql

在这里插入图片描述
拉取镜像:

docker pull mysql

在这里插入图片描述

检查是否拉取完成:

docker images

在这里插入图片描述

一般会根据STARS(热度)和OFFICIAL(官方)来选择, 一般都是选择官方并且热度较高的,所以我们选择第一个mysql也等于mysql–>mysql:latest镜像最新的稳定版本

二、自定义Mysql数据、日志、配置文件目录挂载docker

1.创建自定义目录

创建用于存放 MySQL 配置文件、数据和日志的目录。例如,你可以创建如下目录结构:

/app/mysql/
├── config
├── data
└── logs

创建目录:

mkdir /app/config
mkdir /app/data
mkdir /app/logs

在上面创建的目录结构中:

  1. /app/mysql/config 是用于存放 MySQL 配置文件的录,
  2. /app/mysql/data 是用于存放MySQL数据文件的目录,
  3. /app/mysql/logs 是用于存放 MySQL 日志文件的目录。

你可以根据需要自定义这些路径。

2.创建 MySQL 配置文件

/app/mysql/config目录下创建一个自定义的 MySQL 配置文件 my.cnf(文件名自定义),并根据需要进行相应的配置,编辑my.cnf文件,将以下内容添加进去:

[mysqld]
datadir = /var/lib/mysql
log-error = /var/log/mysql/error.log

注意,这里请使用绝对路径来指定数据目录和日志文件路径。

三、运行镜像

docker run -d \
--name mysql \
-v /app/mysql/config:/etc/mysql/conf.d \
-v /app/mysql/data:/var/lib/mysql \
-v /app/mysql/logs:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=your_password \
-e TZ=Asia/Shanghai \
-p 3306:3306 \
mysql:latest

参数解析:

  • -d:表示以后台模式运行容器,即将容器作为后台进程运行。
  • --name mysql:为容器指定一个名称,这里将容器命名为 “mysql”。
  • -v /app/mysql/config:/etc/mysql/conf.d:挂载宿主机上的 /app/mysql/config 目录到容器中的 /etc/mysql/conf.d 目录。这将允许我们将自定义的 MySQL 配置文件放在宿主机上,并通过挂载使其生效。
  • -v /app/mysql/data:/var/lib/mysql:挂载宿主机上的 /app/mysql/data 目录到容器中的 /var/lib/mysql 目录。这将允许我们将 MySQL 数据文件存储在宿主机上,并通过挂载使其持久化。
  • -v /app/mysql/logs:/var/log/mysql:挂载宿主机上的 /app/mysql/logs 目录到容器中的 /var/log/mysql 目录。这将允许我们将 MySQL 日志文件存储在宿主机上,并通过挂载使其持久化。
  • -e MYSQL_ROOT_PASSWORD=your_password:设置一个名为 MYSQL_ROOT_PASSWORD 的环境变量,并将其值设为 “your_password”。这将设置 MySQL 的 root 用户密码为指定的密码,你可以将 “your_password” 替换为你想要的密码。
  • -p 3306:3306:将容器的 3306 端口映射到宿主机的 3306 端口。这样,可以通过访问宿主机的 IP 地址和端口 3306 来访问 MySQL 服务。

以上是 docker run 命令中的每个参数的解释和作用。根据你的需求,你可以根据实际情况进行相应的修改和调整。

运行镜像后检查运行状态:

docker ps

在这里插入图片描述
进入mysql启动日志是否正常:

docker logs -f mysql

在这里插入图片描述

以上就是Docker安装Mysql的完整教程,如果上述安装过程中有任何进一步的疑问,请随时评论区提出!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在Linux使用Docker安装MySQL 8,可以按照以下步骤进行操作: 1.首先,使用以下命令从Docker Hub上拉取MySQL 8的Docker镜像: ``` docker pull mysql:8 ``` 这将下载MySQL 8的Docker镜像到您的本地系统。 2.接下来,使用以下命令创建并运行一个名为mysql的容器,并设置相关的参数,如端口映射和环境变量等: ``` docker run --restart=unless-stopped -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql ``` 这将创建一个名为mysql的容器,将MySQL的默认端口3306映射到主机的端口3306,并设置MySQL的root用户密码为123456。 3.如果您想要自定义MySQL的配置文件和数据存储位置,可以使用以下命令进行挂载设置: ``` docker run --restart=unless-stopped -d --name mysql -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql ``` 这将把主机上的配置文件my.cnf和数据存储目录挂载到容器内对应的位置。请确保主机上的目录存在并具有适当的权限。 4.最后,您可以使用以下命令进入到mysql容器的命令行终端中进行一些操作: ``` docker exec -it mysql /bin/bash ``` 这将进入到mysql容器的命令行终端中,您可以在其中执行MySQL相关的命令。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [linux系统中docker如何安装一个mysql8](https://blog.csdn.net/qq_43407683/article/details/130734285)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [CentOS-Docker安装MySQL(单点)](https://blog.csdn.net/jing344986203/article/details/108584792)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值