Docker | docker安装MySQL

news2024/10/5 16:30:15

知识目录

  • 一、前言
  • 二、安装Docker镜像
    • 2.1 什么是docker
    • 2.2 为什么安装docker
    • 2.3 安装docker
  • 三、Docker安装MySQL
    • 3.1 常用docker命令
    • 3.2 docker安装MySQL
  • 四、结语

一、前言

大家好!这篇文章主要讲解 如何在Centos7中安装Docker以及Docker安装MySQL:5.7.42

✨本篇文章已收录于 初心 的 大数据 专栏,欢迎大家订阅获取第一资讯✨。

🏠 个人主页:✨✨初心%个人主页✨✨
🧑 个人简介:🎈大家好,我是初心,和大家一起,探究一些有趣的东西!🎈
💕 座右铭:🌵理想主义的花,终究会盛开在浪漫主义的土壤里!🌵
💕欢迎大家:🔑这里是CSDN,我记录知识的地方,喜欢的话请三连,有问题请私信😘

事情是这样的:最近在学习大数据领域的 Hive (基于Hadoop的一个数据仓库工具),希望将数据从RDBMS(关系型数据库)导入到 Hive 中,于是以MySQL为例进行,下面演示如何在 docker 中安装MySQL。

二、安装Docker镜像

Docker是什么?为什么要安装docker?一定要安装docker吗?这或许是我们看到标题时所产生的疑问,下面我会为大家一一解答。

2.1 什么是docker

Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中。

随着云原生、容器化、微服务、k8s 等技术的发展,容器 Docker 也火了一把,同时也逐渐被软件开发者在实践中进行运用。

对于大多数开发者来说,Docker 之所以被广泛使用,最主要的原因可能就是方便,它提供了一套标准化的解决方案,极大地提升了部署、发布、运维的效率。

docker官网给出的定义是:Develop faster. Run anywhere.翻译过来就是开发更快,随处运行,点击去往docker官网。这里介绍docker镜像查询网站:查询docker镜像,比如说我们想要 mysql 镜像,就可以在里面搜索MySQL,可以看到 docker 安装的命令。

2.2 为什么安装docker

在 docker 上安装的软件,我们很容易的将它和它的运行环境打包起来,放在另外一个环境中运行。

这里安装 docker 主要是通过 docker 安装MySQL,以前博主也发布过一篇文章:Linux安装MySQL——Linux安装MySQL(Ubuntu版),那是正常在Linux下安装MySQL的教程,这次我们采用 docker 容器方式安装。

2.3 安装docker

这里我使用的Linux系统是 Centos7-mini 版本,如果不是这个版本的安装方式会不同,需要自己去搜索安装教程

  • 1.卸载旧版本的 docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  • 2.安装所需的软件包
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
  • 3.设置 docker 的稳定仓库(这里使用阿里云仓库)
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 4.安装 Docker Engine-Community
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Docker 安装完默认未启动。并且已经创建好 docker 用户组,但该用户组下没有用户。

  • 5.启动 docker 并测试是否安装成功
sudo systemctl start docker

使用 hello world 小例子来测试是否安装成功:

sudo docker run hello-world
  • 6.卸载 docker (这里是方法,不是要真的卸载了)

删除 docker 安装包:

sudo yum remove docker-ce

删除所有的镜像、容器和配置文件:

sudo rm -rf /var/lib/docker

三、Docker安装MySQL

3.1 常用docker命令

掌握常用的 docker 命令是必要的,因为我们要使用这个工具,就要懂如何通过它的命令达到自己想要的效果。更多相关命令,可以参考docker命令大全。

  • 启动docker
sudo systemctl start docker
  • 关闭docker
sudo systemctl stop docker

  • 拉取镜像

这个可以在docker镜像网站看到拉取命令。

sudo docker pull 镜像名:版本号
  • 创建容器
sudo docker run -it --name 容器名 镜像名:版本号 /bin/bash
  • 启动容器
sudo docker start 容器id
  • 停止容器
sudo docker stop 容器id
  • 查看所有容器
sudo docker ps -a

3.2 docker安装MySQL

根据上面的 docker 介绍,我们通过 docker 安装MySQL。

  • 1.打开 docker 并拉取MySQL镜像
sudo systemctl start docker

执行以下命令安装mysql:5.7.42:

sudo docker pull mysql:5.7.42
  • 2.创建MySQL的 conf 目录和 data 目录
mkdir -p /opt/module/mysql/conf /opt/module/mysql/data
  • 3.编写MySQL的配置文件 my.cnf

mysql配置文件如下,其中 datadir 目录的值就是刚才创建的 data 目录,其他的不用改,然后将这个配置文件放在刚才创建的 conf 目录下。

[client]
default-character-set = utf8mb4
[mysqld]
datadir = /opt/module/mysql/data
character_set_server = utf8mb4
collation_server = utf8mb4_bin
secure-file-priv= NULL
symbolic-links=0
!includedir /etc/mysql/conf.d/

  • 4.利用镜像创建容器

在这行命令中,mysql_hadoop102是我指定的容器名,-v参数后/opt/module/mysql/conf/my.cnf是MySQL配置文件存放的目录,/etc/mysql/my.cnf是容器内部映射的目录,同理,data目录也是对应data目录和容器内部目录,3307:3306表示主机端口和容器端口的映射,root是登录账号,sky 是mysql的password。

docker run --restart=unless-stopped -d --name mysql_hadoop102 -v /opt/module/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/module/mysql/data:/var/lib/mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=sky mysql:5.7.42

在执行完这行命令后,mysql_hadoop102容器就创建好了,并且容器是启动状态!容器只需要创建一次,以后使用都是开启即可。也就是说一个容器只需要执行一次 run 命令,之后都是执行 start 。

  • 5.启动MySQL

查看MySQL容器id:

sudo docker ps -a

平时启动MySQL,执行如下命令:

sudo docker start 85a041875a9e(容器id)

进入到容器内部使用MySQL:

sudo docker exec -it mysql_hadoop102 /bin/bash

登录到MySQL数据库,输入密码回车即可:

mysql -uroot -p

  • 6.Navicat连接测试

填写好主机名和用户名、密码等信息,进行连接测试,连接成功!


至此,我们使用 Docker 安装MySQL就成功了!不知道大家明白了没有呢?如果对于某个步骤有疑问,欢迎大家在评论区给我留言,大家一起交流探讨。

四、结语

坚持做一件事真的很酷,收获也会让你惊喜。

以上就是 Docker 安装MySQL的详细教程与步骤,希望能帮助到大家。💕
✨ 本文由初心原创,首发于CSDN博客, 博客主页:主页
🍻 理想主义的花,终究会盛开在浪漫主义的土壤里!💕
🍻 如果你喜欢的话,记得点赞收藏关注,我在CSDN等你!💕

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/514918.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习模型复杂度评估(时间复杂度、空间复杂度)

目录 1、两个指标 2、复杂度对模型的影响 1、两个指标 时间复杂度和空间复杂度是衡量一个算法的两个重要指标,用于表示算法的最差状态所需的时间增长量和所需辅助空间. 在深度学习神经网络模型中我们也通过: 计算量/FLOPS(时间复杂度)即…

VS Code 常用插件推荐

VS Code 常用插件推荐 1. Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code 适用于 VS Code 的中文(简体)语言包 2. Auto Rename Tag 自动关闭标签,写 html 标签的时候可以重命名标签名。 现在 vscode 已经内置了&…

大项目内训 2023.5.11

目录 分别介绍一下消息处理相关的MQ、WebSocket、分布式事务 介绍一下异步消息传输 如何配置websocket ​编辑 oatpp是什么? cinatra是什么? 我们教育最大的缺失, 是缺乏阅读、写作和逻辑训练 佳作推荐 分别介绍一下消息处理相关的MQ、WebSocket、…

CTF-PWN学习-为缺少指导的同学而生

很抱歉,博主也是个PWN的入门者。PWN的入门不可能是无痛的。能做到的只是减少一点初学者的痛苦。这篇博客会长期维护,也会越来越好。后期还可能会在B站出视频(博主社恐,要迈出这一步可能需要好长时间)。 PWN是个啥&…

QT + OpenGL + FFmpeg写的一个全景视频播放器

临时被分配了一个任务 写一个C版本的全景视频播放器 网上搜了搜 基于前辈的基础上 写的差不多了 测试视频源是用ffmpeg拉RTSP的流 最终是要嵌入到别的一个视频播放器模块 所以解码这块我不用太关注 只要实现渲染就可以了 效果如下 左边的窗口用于输入视频源 以及显示…

dtb展开成device_node

dtb展开成device_node 文章目录 dtb展开成device_node设备树是如何传递给内核的?设备树相关结构体举例of操作函数与查找节点有关的 OF 函数1、of_find_node_by_name 函数2、of_find_node_by_type 函数3、of_find_compatible_node 函数4、of_find_matching_node_and_…

5个PPT素材、模板网站,免费下载,赶紧马住了~

推荐几个可以免费下载PPT素材的网站,建议收藏! 1、菜鸟图库 https://www.sucai999.com/search/ppt/0_0_0_1.html?vNTYwNDUx 菜鸟图库网有非常丰富的免费素材,像设计类、办公类、自媒体类等素材都很丰富。PPT模板种类很多,全部都…

Unity 坐标系

一、左手坐标系与右手坐标系 常见的三维软件都采用笛卡尔坐标系,也就是常见的xyz轴坐标系。笛卡尔坐标系可以是左手坐标系也可以是右手坐标系,如下图所示 两种坐标系是镜像对称的。而Unity采用左手系,且xyz轴的默认方向与图中的左手系完全一…

Java【网络编程1】什么是 TCP/IP 五层模型? 数据传输的封装和分用?

文章目录 前言一、网络协议分层二、数据的网络传输1, 封装2, 分用3, 实际情况 总结 前言 📕各位读者好, 我是小陈, 这是我的个人主页 📗小陈还在持续努力学习编程, 努力通过博客输出所学知识 📘如果本篇对你有帮助, 烦请点赞关注支持一波, 感…

Python+Selenium入门级自动化测试脚本编写

一、安装Selenium 安装selenium有三种方式,主要有python下的pip命令安装或者是直接下载安装包进行安装本地文件夹以及直接用pycharm直接安装相应的selenium版本。推荐使用pycharm直接配置安装相应selenium版本(此办法比pip更好用,且不用担心报…

大数据 | (六)Hadoop集群启停脚本

知识目录 一、前言二、Hadoop集群启停脚本2.1 启停脚本及其背景2.2 使用方法 三、jps脚本四、关机脚本五、结语 一、前言 hello,大家好!这篇文章是我在使用Hadoop集群时使用到的启停脚本的详细内容与感想,希望能帮助到大家! 本篇…

【ENVI】SEBS模型计算蒸散发

详细内容请关注微信公众号:夫也的笔记 #01. ENVI软件SEBS插件介绍 ENVI是利用一种能够提供完整图像处理的功能强大的结构性程序设计语言,ENVI的运行需要IDL的支持,IDL可以为数据的交互式分析和可视化提供一个计算环境,在IDL开发环…

【数据库】SQL Server2022安装教程

大家好,我是雷工! 最近需要安装SQLServer数据库,此次安装的是sql_server_2022_developer版本,以下记录安装及配置过程。大家可以参考指正。 一、安装SQL Server步骤: 1、官网下载 SQL Server 2022 Developer。 2、打…

【逆向】PE文件解析

文章目录 PE文件DOS头部PE/NT头解析区段头/区块表解析数据目录表(存放在某个区段)1. 导出表2. 导入表3. 重定位表 PE文件 PE文件:PE文件是在windows平台可执行的文件。包括:.exe(可执行程序),.…

20230511干掉CV1826的buildroot系统的串口用户名和密码root

20230511干掉CV1826的buildroot系统的串口用户名和密码root 2023/5/11 11:56 https://blog.csdn.net/u011342132/article/details/126116391 buildroot跳过密码登录 1、全新原始编译: rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ cd smartpen/ r…

【集群模式】执行MapReduce程序-wordcount

因为是在hadoop集群下通过jar包的方式运行我们自己写的wordcount案例,所以需要传递的是 HDFS中的文件路径,所以我们需要修改上一节【本地模式】中 WordCountRunner类 的代码: //5.设置统计文件输入的路径,将命令行的第一个参数作为输入文件的…

超细详解MyBatis操作数据库(1)

文章目录 1.MyBatis 是什么?2.回顾 JDBC 的操作流程3.MyBatis 在整个框架中的定位4.MyBatis的使用4.1创建数据库和表4.2 添加MyBatis框架支持4.2.1 老项目添加MyBatis4.2.2 新项目添加MyBatis 4.3 配置连接字符串和MyBatis4.3.1 配置连接字符串4.3.2 配置 MyBatis 中…

【一】设计模式~~~创建型模式~~~简单工厂模式(Java)

【学习难度:★★☆☆☆,使用频率:★★★☆☆】 1.1. 模式动机 考虑一个简单的软件应用场景,一个软件系统可以提供多个外观不同的按钮(如圆形按钮、矩形按钮、菱形按钮等), 这些按钮都源自同一个…

学习之-spring cache缓存框架应用Redis

本文章用于个人学习记录 一、前言 1、SpringCache是Spring提供的一个缓存框架,在Spring3.1版本开始支持将缓存添加到现有的spring应用程序中,在4.1开始,缓存已支持JSR-107注释和更多自定义的选项。Spring 从 3.1 开始定义了 org.springframe…

设备树dtb文件的格式分析

设备树dtb文件的格式分析 文章目录 设备树dtb文件的格式分析DTB文件格式1.header头部1.magic2.totalsize3.off_dt_struct4.off_dt_strings字符串的偏移量5.off_mem_rsvmap 内存保留映射的偏移量6.version 格式版本7.last_comp_version最后兼容版本8.boot_cpuid_phys 我们正在启…