Docker部署MySQL

实验环境:

  系统:centos 7

  Docker:20.10.13

  MySQL:5.7

  数据库连接工具:Navicat Premium 16

 

1、下载MySQL镜像文件

  注:下载MySQL镜像文件(不了解版本的可以从Docker Hub上提前查看MySQL的版本信息)

docker pull mysql:5.7

 

2、准备环境

  注:创建容器,提前将所需的配置从容器中拷贝到宿主机,所需的目录或文件就是传统部署方式的所在位置,所以需要有传统部署方式的基础

  • #在宿主机创建目录用于存储MySQL数据
      [root@huyuyu ~]#mkdir -p /mysql/conf   
      [root@huyuyu ~]#mkdir -p /mysql/logs
  • #创建容器,提前将所需的配置从容器中拷贝到宿主机,所需的目录或文件就是传统部署方式的所在位置,所以需要有传统部署方式的基础   

     # cp 用于将宿主机文件或目录拷贝到容器中,也可将容器中的目录或文件拷贝到宿主机中
     # 命令格式: docker cp 容器名:目录/文件 宿主机目录 #将容器中文件或目录拷贝到宿主机
     # 命令格式: docker cp 宿主机目录/文件 容器名:目录 #将宿主机文件/目录拷贝到容器中 

      [root@huyuyu ~]#docker run -id --name=mysql mysql:5.7 /bin/bash

      [root@huyuyu ~]#docker cp mysql:/etc/mysql /mysql/conf    # 拷贝MySQL的配置目录

      [root@huyuyu ~]#docker cp mysql:/etc/mysql /mysql/conf    # 拷贝MySQL的日志目录

     

    #删除MySQL容器然后再创建挂载数据卷

      [root@huyuyu ~]# docker kill mysql # 停止MySQL容器
      [root@huyuyu ~]# docker rm mysql  # 删除容器

 

3、创建MySQL数据库

[root@huyuyu ~]# docker run -id --name=mysql --privileged=true -p 3306:3306 \  # --privileged=true 基于root用户,映射本机的3306到容器的3306
> -v /mysql/conf:/etc/mysql \         # 映射配置目录
> -v /mysql/logs:/var/log/mysql \       # 映射日志目录
> -v /mysql/data:/var/lib/mysql/ \      # 映射数据目录,有数据时会自动创建该目录
> -e MYSQL_ROOT_PASSWORD=123456 \      # 指定MySQL的密码
> mysql:5.7                    # 使用的镜像文件
78d6141e9c4f61230f33ed4f7bf92cc4e3055063a23976bf53c03075d739f51a
[root@huyuyu ~]# 

 

4、Navicat Premium 16 登录测试

 

 

 

 

 

 测试成功!!!!!

 

posted @ 2022-04-06 23:19  xiao智  阅读(386)  评论(0编辑  收藏  举报