zoukankan      html  css  js  c++  java
  • Docker 快速安装&搭建 Mysql 环境

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 《Java 核心知识整理&面试.pdf》资源链接!!

    个人网站: https://www.exception.site/docker/docker-install-mysql

    本节中,我们将学习如何通过 Docker 快速安装与搭建 Mysql 环境。

    一、下载 Mysql 镜像

    这里以 Mysql 5.7 为例:

    docker pull mysql:5.7
    

    下载完成后,通过 docker images 检查一下镜像是否下载成功:

    验证本地是否下载好Mysql 5.7镜像

    二、先以最简单方式启动

    先以简单的方式启动:

    docker run -d 
    --name mysql 
    -p 3306:3306 
    -e MYSQL_ROOT_PASSWORD=123456 
    mysql:5.7
    
    • -d:以后台的方式运行;
    • --name mysql:指定容器的名称为 mysql;
    • -p 3306:3306 将容器的 3306 端口挂载到宿主机的 3306 端口上;
    • -e MYSQL_ROOT_PASSWORD=123456:指定 root 的密码为 123456

    命令执行完成后,你也可以通过 docker ps命令来确认下容器是否启动成功。若成功,我们需要将容器中的目录文件复制到宿主机中,分别包括:

    • mysql 配置文件;
    • 数据存储目录,以便挂载(PS: 若不挂载到宿主机,每次启动容器数据都会丢失)
    # 将容器中的 mysql 配置文件复制到宿主机中指定路径下,路径你可以根据需要,自行修改
    docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /usr/local/docker/mysql/config
    # 将容器中的 mysql 存储目录复制到宿主机中
    docker cp mysql:/var/lib/mysql/ /usr/local/docker/mysql/data
    

    完成这一切后,让我们将刚刚运行的容器删除掉。

    docker rm -f mysql
    

    PS: mysql 是我们运行容器时,指定的名称,当然,你也可以先执行 docker ps, 通过容器 ID 来删除。

    三、正式运行 Mysql 容器

    接下来,正式运行 Mysql 容器:

    docker run -d 
    --name mysql 
    -p 3306:3306 
    -v /usr/local/docker/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf 
    -v /usr/local/docker/mysql/data/mysql:/var/lib/mysql 
    -e MYSQL_ROOT_PASSWORD=123456 
    mysql:5.7
    

    其他不变,额外添加了两个挂载子命令:

    • -v /usr/local/docker/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf: 将容器中 /etc/mysql/mysql.conf.d/mysqld.cnf 配置文件挂载到宿主机的 /usr/local/docker/mysql/config/mysqld.cnf 文件上;
    • -v /usr/local/docker/mysql/data:/var/lib/mysql: 将容器中 /var/lib/mysql 数据目录挂载到宿主机的 /usr/local/docker/mysql/data 目录下;

    执行命令完成后,查看下容器是否启动:

    查看mysql容器是否启动成功

    可以看到,容器运行成功

    四、通过 Mysql 客户端连接一下试试

    通过 MySQL 客户端连接刚刚创建的 mysql, 看看能否连接成功:

    通过mysql客户端连接试试看

    连接成功了!

    免费分享 | 面试&学习福利资源

    最近在网上发现一个不错的 PDF 资源《Java 核心知识&面试.pdf》分享给大家,不光是面试,学习,你都值得拥有!!!

    获取方式: 关注公众号: 小哈学Java, 后台回复资源,既可免费无套路获取资源链接,下面是目录以及部分截图:

    关注微信公众号【小哈学Java】,回复【资源】,即可免费无套路领取资源链接哦

    关注微信公众号【小哈学Java】,回复【资源】,即可免费无套路领取资源链接哦

    关注微信公众号【小哈学Java】,回复【资源】,即可免费无套路领取资源链接哦

    关注微信公众号【小哈学Java】,回复【资源】,即可免费无套路领取资源链接哦

    关注微信公众号【小哈学Java】,回复【资源】,即可免费无套路领取资源链接哦

    关注微信公众号【小哈学Java】,回复【资源】,即可免费无套路领取资源链接哦

    重要的事情说两遍,关注公众号: 小哈学Java, 后台回复资源,既可免费无套路获取资源链接 !!!

  • 相关阅读:
    计算机基础--http的基础整理和巩固
    设计方案系列-如何看待前端框架选型 ?
    数据可视化-svg入门基础(二)
    数据可视化系列--svg入门基础(一)
    Jenkins自动部署增加http状态码校验
    快速搭建python程序
    Request 接收参数乱码原理解析三:实例分析
    Request 接收参数乱码原理解析二:浏览器端编码原理
    Request 接收参数乱码原理解析一:服务器端解码原理
    Newtonsoft.Json(Json.Net)学习笔记
  • 原文地址:https://www.cnblogs.com/quanxiaoha/p/10896639.html
Copyright © 2011-2022 走看看