• MyLife - Docker安装MySQL


    Docker安装MySQL


    个人觉得像数据库之类的基础设施在线上环境直接物理机安装使用可能会好些。但是在开发测试环境用docker容器还是比较方便的。这里学习下docker安装mysql使用。

    1. MySQL 镜像库地址
    MySQL 镜像库地址:https://hub.docker.com/_/mysql/tags
    这里是官方镜像库,可以在这挑选需要的版本的mysql镜像。

    2. 拉取 MySQL 镜像
    拉取最新版本的镜像

     docker pull mysql:latest
    
    • 1

    在这里插入图片描述
    3. 运行容器
    运行为容器

     docker run -d --name mylife.mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Abc123456. mysql
    
    • 1

    参数说明:

    • -d 后台运行容器
    • –name 为容器指定一个名称
    • -p 指定端口映射,格式为:主机(宿主)端口:容器端口
    • -e 设置环境变量(MYSQL_ROOT_PASSWORD=Abc123456.:设置 MySQL 服务 root 用户的密码)
      最后的mysql为使用的镜像
      在这里插入图片描述
      因为官方这MySQL镜像数据默认放在 /var/lib/mysql 目录下,且这目录是挂载在宿主机上的,这会导致我们用这容器重新生成的镜像丢失数据。所以这里要改下MySQL配置文件,把数据放到别的目录下。
    • 进入容器内执行命令
     docker exec -it mylife.mysql bash
    
    • 1

    在这里插入图片描述

    • 修改配置文件
      修改配置文件my.cnf,把数据目录改为 /data/mysql
      修改前配置文件内容:
      在这里插入图片描述
      创建数据目录并修改配置my.cnf
     mkdir -p data/mysql
     sed -i "s#datadir.*/var/lib/mysql#datadir=/data/mysql#g" /etc/mysql/my.cnf
    
    • 1
    • 2

    在这里插入图片描述
    修改后配置文件内容:
    在这里插入图片描述

    • 重启容器
     docker restart mylife.mysql
    
    • 1

    在这里插入图片描述

    4. 连接数据库
    容器运行成功后就可以连接该数据库了,这里尝试用Navicat连接。
    在这里插入图片描述
    在这里插入图片描述
    5. 创建库
    在容器上的MySQL创建需要的库和表。
    在这里插入图片描述
    6. 创建含库和表的镜像
    用创建好库和表的容器创建镜像

     docker commit -a "tdb" -m "mylife database v1" mylife.mysql  mylife.mysql:v1
    
    • 1

    参数说明:

    • -a 提交的镜像作者
    • -m 提交时的说明文字
    • mylife.mysql 容器名称
    • mylife.mysql:v1镜像名及tag
      在这里插入图片描述

    7. 开发环境数据库容器
    用刚创建的数据库镜像运行一个开发环境的数据库容器

     docker run -d --name mylife.dev.mysql -p 30001:3306 -e MYSQL_ROOT_PASSWORD=Abc123456. mylife.mysql:v1
    
    • 1

    在这里插入图片描述

    连接开发环境数据库,发现带有库和表
    在这里插入图片描述
    8. demo环境数据库容器
    demo环境在云上的linux上,可以把镜像上传到hub上,再在linux上下载该镜像,但是我这死活上传失败,只好用导出再导入的方法。

    • 导出镜像
      把镜像[mylife.mysql:v1]导出
     docker save -o F:\\study\\docker\\images\\mylife.mysql.v1.tar mylife.mysql:v1
    
    • 1

    在这里插入图片描述

    • 上传到Linux,再载入该镜像
     docker load -q -i /usr/docker/images/mylife.mysql.v1.tar
    
    • 1

    在这里插入图片描述

    • 运行容器
     docker run -d --name mylife.demo.mysql -p 30101:3306 -e MYSQL_ROOT_PASSWORD=Abc123456. mylife.mysql:v1
    
    • 1

    在这里插入图片描述
    连接开发环境数据库,发现带有库和表
    在这里插入图片描述

  • 相关阅读:
    代码随想录算法训练营day60 || 42.接雨水
    go语言使用grpc
    求求,别在sql里格式化数据了
    docker-compose 部署rabbitmq 15672打不开
    【GCC】关于 -finput-charset= 和 -fexec-charset= 选项
    使用 Go 语言统计 0-200000 的数字中,哪些是素数?
    REASUNOS瑞森半导体-MOS管系列在服务器电源上的应用
    Centos8下载安装JDK8
    Reading Note(10)——AutoBridge
    电脑怎么把照片变成jpg格式?
  • 原文地址:https://blog.csdn.net/dabintang/article/details/133349737