码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • [mysql/docker] 基于Docker安装MYSQL


    目录

    • 0 序
    • 2 安装步骤
      • Step1 安装 docker 环境
      • Step2 安装 mysql 镜像/容器 | 基于 docker
      • Step3 测验:在宿主机中执行 mysql 容器 的 命令
    • X 参考文献/推荐文献
    回到顶部(Back to Top)

    0 序

    • 虽然关于 mysql 安装的教程,先前已写过很多期了(参见如下列表),但这期的安装教程所依赖的环境还是大有不同的————基于 docker 环境。
    • [数据库] MySQL之数据库备份与升级:MySQL Percona(RPM) 5.7.24-27 升级到 5.7.31-34 - 博客园/千千寰宇
    • [数据库] Windows:安装MySQL[解压版的安装/卸载] - 博客园/千千寰宇
    • [数据库] Ubuntu Linux之搭建远程数据库MySQL(全过程) - 博客园/千千寰宇
    • docker / k8s 虚拟化/容器技术 的出现,大大提升了安装部署的效率。与环境的解耦,以此成倍数地提升软件交付/软件部署的效率,是它最大的功绩。

    • 好了,进入正题。

    • os : centos 7

    这一点,无需关心,因为绝大多数情况下, docker 镜像的使用者可以不太关心外部依赖(包括:操作系统)

    • docker 版本 : 25.0.4

    不懂 docker 的同志,请参见:

    • [Docker] 基于CENTOS7安装Docker环境 - 博客园/千千寰宇
    • [Docker] Docker 基础教程(概念/原理/基础操作) - 博客园/千千寰宇
    • [Docker] Docker Compose 基础教程(概念/基础操作) - 博客园/千千寰宇
    • mysql 镜像 : 5.7

    回到顶部(Back to Top)

    2 安装步骤

    Step1 安装 docker 环境

    可参见本文

    • [Docker] 基于CENTOS7安装Docker环境 - 博客园/千千寰宇
    • 安装 docker 镜像
    yum -y update
    
    yum remove docker  docker-common docker-selinux docker-engine
    yum install -y yum-utils device-mapper-persistent-data lvm2
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    yum list docker-ce --showduplicates | sort -r
    yum -y install docker-ce-25.0.3-1.el7
    
    • 查看 docker 版本
    docker version
    

    • 启动/查看/开机自启动 docker 进程
    systemctl start docker
    systemctl status docker
    
    # 开机自启动
    systemctl enable docker
    

    Step2 安装 mysql 镜像/容器 | 基于 docker

    • 下载镜像
    docker pull mysql:5.7
    # docker pull mysql:8
    

    • 查看(下载的)镜像
    docker images
    

    • 创建数据存储目录

    此举是为了避免mysql镜像停止运行后数据丢失,做到存算分离。

    • /data/mysql/log:/var/log/mysql
    • /data/mysql/data:/var/lib/mysql
    • /data/mysql/conf.d:/etc/mysql/conf.d
    • /data/mysql/my.cnf:/etc/my.cnf
    mkdir -p /data/mysql/log
    mkdir -p /data/mysql/data
    mkdir -p /data/mysql/conf.d
    touch /data/mysql/my.cnf
    
    ls /data/mysql
    
    • 设置 mysql root 用户密码
    MYSQL_ROOT_PASSWORD=123456
    
    echo ${MYSQL_ROOT_PASSWORD}
    
    • 创建、并启动容器
    docker run --name mysql \
    --restart=always \
    -p 3306:3306 \
    -v /data/mysql/log:/var/log/mysql \
    -v /data/mysql/data:/var/lib/mysql \
    -v /data/mysql/conf.d:/etc/mysql/conf.d \
    -v /data/mysql/my.cnf:/etc/my.cnf \
    -e MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} \
    -d mysql:5.7
    

    注:第1个 3306 端口:是指宿主机的映射端口
    注:第2个 3306 端口:是指容器的被映射端口

    • 查看容器
    docker ps -a
    
    netstat -lntp | grep -i 3306
    

    Step3 测验:在宿主机中执行 mysql 容器 的 命令

    • 方法1
    docker exec -it mysql bash
    > mysql -uroot -p${MYSQL_ROOT_PASSWORD} --port=3306 -h127.0.0.1 -e 'show databases;'
    > exit
    

    注: MYSQL_ROOT_PASSWORD 也是 mysql container 的内置环境变量

    • 方法2:
    docker exec -it mysql sh -c "mysql -uroot -p${MYSQL_ROOT_PASSWORD} --port=3306 -h127.0.0.1 -e 'show databases;'"
    

    回到顶部(Back to Top)

    X 参考文献/推荐文献

    • Docker / Docker Compose
    • [Docker] 基于CENTOS7安装Docker环境 - 博客园/千千寰宇
    • [Docker] Docker 基础教程(概念/原理/基础操作) - 博客园/千千寰宇
    • [Docker] Docker Compose 基础教程(概念/基础操作) - 博客园/千千寰宇
    • [Docker] 基于CENTOS7的Docker版本升级 - 博客园/千千寰宇
    • mysql 安装教程
    • [数据库] MySQL之数据库备份与升级:MySQL Percona(RPM) 5.7.24-27 升级到 5.7.31-34 - 博客园/千千寰宇
    • [数据库] Windows:安装MySQL[解压版的安装/卸载] - 博客园/千千寰宇
    • [数据库] Ubuntu Linux之搭建远程数据库MySQL(全过程) - 博客园/千千寰宇
    • mysql 使用
    • [数据库] MySQL之数据库管理篇 - 博客园/千千寰宇
    • [数据库]MySQL之SQL查询 - 博客园/千千寰宇
    • [数据库]MYSQL之存储过程 - 博客园/千千寰宇
    • Docker安装MySQL数据库 - 腾讯云/程序员云帆哥
    • 其他
    • [Docker] Docker之搭建博客系统Solo - 博客园/千千寰宇
  • 相关阅读:
    云主机生成和绑定密钥
    采购供应链可见性的详细介绍(数智化采购供应链系统)
    HttpClient远程使用大全
    代码随想录算法训练营19期第50天
    软考高项-挣值管理-TCPI
    单向 SSL 和双向 SSL 概述
    网络运行安全
    [ Windows-Nginx ]Windows服务器,Tomcat容器部署项目,整合Nginx
    无人机RTMP推流EasyDSS直播平台推流成功,不显示直播按钮是什么原因?
    自定义springboot-start
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/18077425
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号