广告
返回顶部
首页 > 资讯 > 数据库 >如何使用 docker 搭建一个 mysql 服务
  • 449
分享到

如何使用 docker 搭建一个 mysql 服务

2024-04-02 19:04:59 449人浏览 独家记忆
摘要

目录前言1. 编写 Docker-compose.yml 文件2. 定义测试数据3. 定义启动文件4. 启停 Mysql前言 在日常开发中,数据库 mysql 是必不可少的,但是由于其繁琐的配置,安装 mysql 时总是

前言

在日常开发中,数据库 mysql 是必不可少的,但是由于其繁琐的配置,安装 mysql 时总是不太顺利,还可能会踩坑。所以本文的目的,可以让你快速搭建一个 mysql 服务。

下面跟着以下教程,可以让你快速、流畅的安装 mysql 数据库,流程可分成 4 步。

如何使用 docker 搭建一个 mysql 服务

1. 编写 docker-compose.yml 文件

创建 docker-compose.yml 文件,文件内容如下:

version: '3.1'

services:
    mysql:
        image: mysql:8
        restart: always
        # https://stackoverflow.com/a/49021165/7756877,使用默认的授权插件,
        # mysql 8 默认使用 caching_sha2_passWord 作为授权插件,并非 mysql_native_password,
        # 然而 mysql 驱动还不支持 caching_sha2_password,为了往后兼容所以要加这一行。
        command: --default-authentication-plugin=mysql_native_password
        ports:
            - "7306:3306"
        volumes:
            - "./table.sql:/docker-entrypoint-initdb.d/01-init-table.sql"
        environment:
            MYSQL_ROOT_PASSWORD: mysql # root 用户的密码
            MYSQL_DATABASE: lingmo   # 默认创建 lingmo 数据库
            MYSQL_USER: kele         # 新建一个用户
            MYSQL_PASSWORD: baishi2020 # 新建用户的密码

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

docker-compose 的 services 属性中定义的一个 mysql

  • image 表明镜像版本是 mysql:8
  • command 通过参数 --default-authentication-plugin 定义了一个默认插件 mysql_native_password, 原因是: mysql 8 默认使用 caching_sha2_password 作为授权插件,并非 mysql_native_password,然而 mysql 驱动还不支持 caching_sha2_password,为了往后兼容所以要加这一行。
  • port 表明使用本地的 7306 端口映射容器中 mysql 的 3306 端口。
  • volumes 表明将 ./table.sql 文件挂载到容器的 docker-entrypoint-initdb.d/01-init-table.sql 文件中,而存在容器中 docker-entrypoint-initdb.d/ 目录中的文件,在 mysql 第一次启动时会执行,之后重启容器不会重复执行。
  • environment
    • MYSQL_ROOT_PASSWORD: 创建 mysql 服务时会新建一个 root 用户,这个属性定义的是 root 用户密码。
    • MYSQL_DATABASE: 默认创建一个 lingmo 的数据库。
    • MYSQL_USER: 再次创建一个用户,用户名是 kele。
    • MYSQL_PASSWORD: 表明 kele 用户的密码,这里是 baishi2020

2. 定义测试数据

新建测试数据表 table.sql ,目的是在 mysql 启动时初始化数据。

DROP TABLE IF EXISTS `students`;
CREATE TABLE `students` (
    `student_id` varchar(255) NOT NULL,
    `student_name` varchar(255),
    `sex` tinyint(1) DEFAULT NULL,
    PRIMARY KEY (`student_id`)
) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4;

INSERT INTO `students`(`student_id`, `student_name`, `sex`) VALUES(1, 'jake', 0), (2, 'jenery', 1);

以上表示新建一张 students 表,然后插入两条数据。

3. 定义启动文件

新建启动文件 set-env.sh, 通过 docker-compose 启动 mysql 容器服务;然后通过 souce set-env.sh 把 mysql-local-dev 设置到环境变量中去。

#!/bin/bash

MYSQL_LOCAL_ENV_DIR="$( cd "$(dirname "$0")"; pwd -P )"

function mysql-local-dev() {
    case $1 in
        "up")
            docker-compose -p lingmo -f "$MYSQL_LOCAL_ENV_DIR"/docker-compose.yml up -d
            ;;
        "down")
            docker-compose -p lingmo -f "$MYSQL_LOCAL_ENV_DIR"/docker-compose.yml down
            ;;
        *)
            echo 'mysql-local-dev [up | down]'
    esac
}

启动 mysql 的三个文件已定义完成,目录结构为以下:

➜  local-mysql git:(main) ✗ tree . 
.
├── docker-compose.yml
├── set-env.sh
└── table.sql

0 directories, 3 files

最后,我们测试下是否可启动 mysql。

4. 启停 mysql

  • 启动 mysql
mysql-local-dev up

说明 mysql 启动成功。

如何使用 docker 搭建一个 mysql 服务

 通过相应的账号、密码登录 mysql 即可。

  • 停止 mysql
mysql-local-dev down 

到此这篇关于如何使用 docker 搭建一个 mysql 服务的文章就介绍到这了,更多相关 docker 搭建mysql 服务内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: 如何使用 docker 搭建一个 mysql 服务

本文链接: https://www.lsjlt.com/news/34204.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 如何使用 docker 搭建一个 mysql 服务
    目录前言1. 编写 docker-compose.yml 文件2. 定义测试数据3. 定义启动文件4. 启停 mysql前言 在日常开发中,数据库 mysql 是必不可少的,但是由于...
    99+
    2022-11-13
  • 如何使用 docker 搭建一个 mysql 服务
    目录前言1. 编写 docker-compose.yml 文件2. 定义测试数据3. 定义启动文件4. 启停 mysql前言 在日常开发中,数据库 mysql 是必不可少的,但是由于其繁琐的配置,安装 mysql 时总是...
    99+
    2022-09-26
  • 怎么搭建一个mysql服务器
    在Linux系统中搭建mysql服务器的方法首先,进入mysql官网,下载mysql源码安装包,并解压;mysql源码包下载好后,使用rpm命令将源码包添加到系统中;rpm -Uvh platform-and-version-specifi...
    99+
    2022-10-22
  • 如何使用Docker搭建MQTT服务器
    这篇文章主要介绍如何使用Docker搭建MQTT服务器,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 拉取镜像docker pull registry.cn-hangzhou.aliyuncs.com/synbo...
    99+
    2023-06-22
  • Docker中如何搭建MySQL数据库服务
    这期内容当中小编将会给大家带来有关Docker中如何搭建MySQL数据库服务,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。使用官方的mysql镜像搭建数据库服务,目前的latest版本对应8.0.19版本...
    99+
    2023-06-22
  • 如何使用PHP和Linux搭建一个服务器
    在当前的网络时代,搭建一个稳定、高效的服务器成为越来越多人的需求。而在众多的服务器框架中,PHP和Linux服务器成为最为主流的选择。下面我们就来探讨一下如何使用PHP和Linux搭建一个稳定高效的服务器来满足日常需求。一、安装和配置Lin...
    99+
    2023-05-14
  • 如何使用SpringCloud搭建一个微服务框架
    这篇文章将为大家详细讲解有关如何使用SpringCloud搭建一个微服务框架,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Spring Cloud是一个基于Spring Boot实现的云应用...
    99+
    2023-05-30
    springcloud
  • 如何搭建一个云服务器
    搭建一个云服务器需要遵循一定的技术和配置要求,下面是一些基本步骤: 云服务器的硬件选择:选择性能强劲的服务器主板,内存大小,以及存储设备等,这些都是云服务器所需要的关键组件。 服务器硬件配置:根据您的需求和预算,选择合适的硬件配置,例如...
    99+
    2023-10-26
    服务器
  • 使用win10搭建一个gitlab服务器
    安装并配置Git和Ruby环境。在Windows上安装Git和Ruby可以使用Chocolatey包管理器进行安装。在管理员命令行中执行以下命令: choco install git -ychoco install ruby -y 安装并配...
    99+
    2023-09-30
    gitlab git github
  • 如何使用Node.js搭建一个静态Web服务器
    这篇文章主要介绍了如何使用Node.js搭建一个静态Web服务器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用Node.js搭建一个静态Web服务器文章都会有所收获,下...
    99+
    2022-10-19
  • Linux如何搭建一个golang服务器
    Golang是一门由Google开发的编程语言,它的特点是简洁、高效和可靠性强。最近几年,Golang在Web开发中越来越受欢迎,因为它拥有非常好的性能和并发操作能力。在本文中,我们将介绍如何在Linux服务器上搭建一个Golang服务器,...
    99+
    2023-05-14
    linux go语言 Golang
  • Flask如何搭建一个API服务器
    小编给大家分享一下Flask如何搭建一个API服务器,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、API列表 1. 获取作品列表① 获取手工制作作品列表。请求格式:http://api.mculover666...
    99+
    2023-06-15
  • 使用IIS服务器搭建一个网站
    1、什么是IIS IIS全称为Internet Information Services,是一种Web服务组件。通过在自己电脑上安装好IIS服务,就可以把你自己的电脑当作一个网站的服务器。 2、搭建一个IIS 2.1、开启wi...
    99+
    2023-09-16
    服务器 asp.net Powered by 金山文档
  • 使用PhpStorm和Docker怎么搭建一个开发环境
    今天就跟大家聊聊有关使用PhpStorm和Docker怎么搭建一个开发环境,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。第一步:使用 dockerfile 定制一个 PHP 镜像接手...
    99+
    2023-06-15
  • 如何使用PHP快速搭建一个图片服务器
    PHP是一种被广泛应用于Web开发的服务器端脚本语言。在很多实际应用中,我们需要搭建一些服务器来专门存储和管理图片,以供我们的应用和网站进行引用和展示。本文介绍如何使用PHP快速搭建一个图片服务器。基础环境安装在开始之前,我们需要安装PHP...
    99+
    2023-05-14
  • 使用SpringCloud如何搭建一个netflix-eureka微服务集群
    使用SpringCloud如何搭建一个netflix-eureka微服务集群?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。新建项目选择需要引入的组件,然后下载下...
    99+
    2023-06-14
  • 如何使用 docker compose 搭建 fastDFS文件服务器
    上篇文章给大家介绍了使用docker compose安装FastDfs文件服务器的实例详解 今天给大家介绍如何使用 docker compose 搭建 fastDFS文件服务器,内容...
    99+
    2022-11-12
  • 如何搭建一个云服务器网络
    搭建一个云服务器网络需要考虑很多方面,以下是一些基本步骤: 选择云服务器提供商:选择一家可靠的云服务器提供商可以确保你的数据在任何时间都能访问到,并且可以提供稳定和安全的服务。 配置基础设施:确定你的云服务器提供商所提供的基础设施是否符...
    99+
    2023-10-26
    服务器 网络
  • 如何搭建一个云服务器教程
    搭建一个云服务器需要一些基础的知识,以下是一些建议: 选择适合您的硬件规格:根据您的需要和需求,选择合适的服务器硬件规格并购买适当数量的设备。 选择云服务器租用或托管服务:根据您的使用需求,选择云服务器租用或托管服务,例如 CloudW...
    99+
    2023-10-26
    服务器 教程
  • 如何搭建一个游戏云服务器
    搭建一个游戏云服务器需要以下步骤:1. 购买云服务器:选择一个可靠的云服务提供商,根据你的需求选择适合的云服务器套餐。2. 选择操作...
    99+
    2023-08-29
    云服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作