我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用Docker部署MySQL数据库的两种方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用Docker部署MySQL数据库的两种方法

引言

在现代软件开发中,MySQL 是一种流行的关系数据库管理系统,因其可靠性和易用性受到广泛欢迎。通过 Docker,可以快速、便捷地部署和管理 MySQL 数据库实例。本文将介绍两种通过 Docker 部署 MySQL 的方法:使用 Docker CLI 命令和使用 Docker Compose。

第一部分:通过 Docker CLI 命令部署 MySQL

1. 安装 Docker

确保您的系统中已安装 Docker。若未安装,请参考 Docker 官方文档 进行安装。

2. 拉取 MySQL 镜像

首先,使用以下命令从 Docker Hub 拉取 MySQL 8.0 镜像:

docker pull mysql:8.0

3. 启动 MySQL 容器

接下来,使用以下命令启动 MySQL 容器:

docker run -d \
--name mysql-8.0 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=my_database \
-e MYSQL_USER=run \
-e MYSQL_PASSWORD=123456 \
-p 3306:3306 \
-v mysql-data:/var/lib/mysql \
mysql:8.0 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_bin \
--lower_case_table_names=1
参数说明:
  • -d:以后台模式运行容器。
  • --name mysql-8.0:指定容器名称为 mysql-8.0
  • -e:设置环境变量,配置 MySQL 的 root 密码、默认数据库名称、用户及其密码。
  • -p 3306:3306:将主机的 3306 端口映射到容器的 3306 端口,以便外部访问数据库。
  • -v mysql-data:/var/lib/mysql:创建持久化卷,将容器中的数据存储在主机上,确保数据不丢失。
  • 最后,指定了字符集和排序规则以优化数据库支持。

4. 验证 MySQL 运行状态

运行以下命令检查容器是否已成功启动:

docker ps

若容器列表中出现 mysql-8.0,则表明部署成功。

5. 进入 MySQL 容器

您可以使用以下命令连接到 MySQL 数据库:

docker exec -it mysql-8.0 mysql -uroot -p123456

第二部分:通过 Docker Compose 部署 MySQL

Docker Compose 允许用户通过定义一个 docker-compose.yml 文件,方便地管理和启动多个服务。以下是通过 Docker Compose 部署 MySQL 的步骤。

1. 创建 docker-compose.yml 文件

在您的工作目录下,创建一个名为 docker-compose.yml 的文件,并输入以下内容:

version: '3.8'
services:
  mysql:
    image: mysql:8.0
    container_name: mysql-8.0
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: my_database
      MYSQL_USER: run
      MYSQL_PASSWORD: 123456
    ports:
      - "3306:3306"
    volumes:
      - mysql-data:/var/lib/mysql
    command:
      - mysqld
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_bin
      - --lower_case_table_names=1
    networks:
      - mysql-network

volumes:
  mysql-data:

networks:
  mysql-network:
    driver: bridge

2. docker-compose.yml 文件逐行解析

  • version: '3.8'
    指定 Docker Compose 文件的版本,3.8 适合大多数用户。

  • services:
    定义在 Docker 中运行的服务。

  • mysql:
    指定服务的名称,表示 MySQL 数据库服务。

  • image: mysql:8.0
    使用 MySQL 8.0 镜像,如果本地没有此镜像,Docker 会自动从 Docker Hub 下载。

  • container_name: mysql-8.0
    设置容器的名称,便于管理和识别。

  • environment:
    设置 MySQL 的环境变量:

    • MYSQL_ROOT_PASSWORD:root 用户的密码。
    • MYSQL_DATABASE:初始化时创建的数据库名称。
    • MYSQL_USER 和 MYSQL_PASSWORD:创建一个新用户及其密码。
  • ports:
    将主机的 3306 端口映射到容器的 3306 端口,以便外部访问数据库。

  • volumes:
    将主机上的 mysql-data 卷挂载到容器的 /var/lib/mysql 目录,确保数据的持久性。

  • command:
    指定 MySQL 启动时的命令参数,设置字符集和排序规则,以优化数据库的支持。

  • networks:
    定义容器使用的网络,mysql-network 允许容器之间进行通信。

  • volumes:
    创建一个名为 mysql-data 的卷,用于数据持久化。

  • networks:
    创建一个名为 mysql-network 的桥接网络,便于容器间的互联。

3. 启动 MySQL 服务

在 docker-compose.yml 文件所在的目录,执行以下命令启动服务:

docker-compose up -d

4. 验证服务状态

使用以下命令查看运行中的容器:

docker-compose ps

确保 mysql-8.0 容器正在运行。

5. 进入 MySQL 容器

使用以下命令访问 MySQL 数据库:

docker exec -it mysql-8.0 mysql -uroot -p123456

6. 停止和移除容器

要停止并删除容器,可以使用以下命令:

docker-compose down

总结

本文介绍了通过两种方法在 Docker 中部署 MySQL 数据库:通过 Docker CLI 命令和通过 Docker Compose 文件。每种方法都有其独特的优点,您可以根据项目需求和个人偏好选择适合的方式。

附:完整的 docker-compose.yml 文件内容

version: '3.8'
services:
  mysql:
    image: mysql:8.0
    container_name: mysql-8.0
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: my_database
      MYSQL_USER: run
      MYSQL_PASSWORD: 123456
    ports:
      - "3306:3306"
    volumes:
      - mysql-data:/var/lib/mysql
    command:
      - mysqld
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_bin
      - --lower_case_table_names=1
    networks:
      - mysql-network

volumes:
  mysql-data:

networks:
  mysql-network:
    driver: bridge

通过以上步骤,您可以快速在 Docker 中部署 MySQL 数据库,确保开发环境的灵活性和一致性。

到此这篇关于使用Docker部署MySQL数据库的两种方法的文章就介绍到这了,更多相关Docker部署MySQL数据库内容请搜索编程网(www.lsjlt.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.lsjlt.com)!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用Docker部署MySQL数据库的两种方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用Docker部署MySQL数据库的两种方法

目录引言第一部分:通过 docker CLI 命令部署 mysql1. 安装 Docker2. 拉取 MySQL 镜像3. 启动 MySQL 容器4. 验证 MySQL 运行状态5. 进入 MySQL 容器第二部分:通过 Docker Co
使用Docker部署MySQL数据库的两种方法
2024-10-17

如何使用Docker部署mysql数据库

今天小编给大家分享一下如何使用Docker部署mysql数据库的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、检查系统版本
2023-07-05

怎么使用docker-compose部署mysql数据库

要使用docker-compose部署MySQL数据库,需要按照以下步骤操作:首先,确保你已经安装了Docker和docker-compose。如果没有,请先安装它们。创建一个新的文件夹,用于存放你的docker-compose.yml文件
怎么使用docker-compose部署mysql数据库
2024-04-09

使用Docker部署MongoDB数据库

要在Docker中部署MongoDB数据库,可以按照以下步骤操作:下载MongoDB镜像:docker pull mongo创建并运行MongoDB容器:docker run -d --name my-mongo -p 27017:2701
使用Docker部署MongoDB数据库
2024-04-25

云原生使用Docker部署mysql数据库的详细过程

目录一、检查系统版本二、检查docker状态1.检查docker版本2.检查docker状态三、在docker hub搜索mysql四、下载mysql镜像五、创建mysql容器1.创建数据目录2.运行mysql容器3.查看mysql容器状态
2023-03-23

MySQL 两种恢复数据的方法

一 前言 前一段时间接二连三的出现开发人员在测试环境和生产误操作导致数据库误删除/更新,对DBA而言,回滚数据着实是一件头疼的事情,凡涉及到恢复线上数据必然对应用带来一定的影响。大多数情况是开发误操作delete数据,update多数行,根
2022-05-29

使用 docker 部署 MySQL 会导致数据丢失吗

2023年2月28日,今天下午电话面试 java 岗位,经过一些提问后,面试官问了一个问题,“那么你最近在关注什么方面的技术点呢?”,可能是我之前的回答不太理想,且说辞都是“不好意思,可能最近没有太经常使用这方面的东西。”(其实就是忘了)
2023-08-16

Linux的HBASE数据库集群部署方法

1.HBASE是一个key-value型的nosql数据库,与Redis不同的是HBASE主要解决海量数据,快速检索2.安装(前提,具有zookeeper,jdk,hadoop的软件安装)HBASE的镜像安装https://mirr
Linux的HBASE数据库集群部署方法
2024-10-22

c# 向MySQL添加数据的两种方法

下面介绍两种执行SQL命令的方法,并作出相应地总结,第一种介绍一种常规用法,下面进行做简要地分析,首先我们需要执行打开数据库操作首先创建一个MySqlConnection对象,在其构造函数中传入一个连接字符串,然后执行Open
2022-05-26

使用Docker搭建MySQL主从数据库的方法步骤

目录1. 准备主服务器2. 准备从服务器3. 启动主从同步4. 实现主从同步5. 停止和重置很多人对主从数据库有一个误区,把多个mysql搭建在同一个服务器上,性能提升是不是很有限?这个理念是错误的,数据库的性能瓶颈主要是在IO和CPU负载
2023-01-11

编程热搜

目录