• Docker安装MySQL5.7


    前言

    前面我们在centos安装过mysql5.7,需要安装各种依赖环境,在windows环境上安装mysql更是噩梦连连,在docker上安装mysql,非常简便。



    1.拉取数据库镜像
    根据自己的需求找到对应的 mysql 版本, 通过docker pull命令下载。
    可以在docker的镜像仓库找到不同TAG标签的版本https://hub.docker.com/_/mysql?tab=tags
    我们这里选择5.7版本

    docker pull mysql:5.7
    

    docker images命令查看镜像是否下载成功




    2.配置mysql

    创建mysql目录,用于存放mysql相关配置及数据


    mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录
    ~ : ”/“是根目录,”~“是家目录。Linux存储是以挂载的方式,相当于是树状的,源头就是”/“,也就是根目录。
    而每个用户都有”家“目录,也就是用户的个人目录,比如root用户的”家“目录就是/root,普通用户a的家目录就是/home/a

    mkdir -p ~/wwh/mysql/conf ~/wwh/mysql/data ~/wwh/mysql/logs
    

    创建完成后,在当前用户的home目录(root用户在root目录),会有三个文件夹。 ![](https://img2020.cnblogs.com/blog/1180565/202101/1180565-20210113132120337-1106375551.png)

    运行mysql容器

    docker run -p 3309:3306 --name wwhmysql -v ~/wwh/mysql/conf:/etc/mysql/conf.d -v ~/wwh/mysql/logs:/logs -v ~/wwh/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
    

    命令说明:

    • --name 重命名wwhmysql
    • -p 3309:3306:将容器的 3306 端口映射到主机的 3309 端口。
    • -v -v /wwh/mysql/conf:/etc/mysql/conf.d:将主机/wwh/mysql/conf 挂载到容器的 /etc/mysql/my.cnf。
    • -v /wwh/mysql/logs:/logs:将主机/wwh/mysql 目录挂载到容器的 /logs。
    • -v ~/wwh/mysql/data:/var/lib/mysql :将主机~/wwh/mysql/data目录挂载到容器的 /var/lib/mysql 。
    • -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
    • -d 挂后台运行



    启动完成后,查看运行状态


    docker ps



    安装好查看data目录的数据




    3.远程连接数据库

    注意:如果防火墙打开了,要把3309端口号加到防火墙中,要么就关闭防火墙


    centos7关闭防火墙:
    systemctl stop firewalld.service


    centos7查看防火墙的状态:
    firewall-cmd --state


    centos7开放端口号:

    firewall-cmd --add-port=3309/tcp --permanent
    firewall-cmd --add-port=3309/udp --permanent
    firewall-cmd --reload
    





    3.1、服务器重启了,但是数据库连接不上怎么办?

    1.手动启动mysql容器

    通过docker ps 查看当前启动的容器
    docker start 容器id或者名称



    2.设置容器开机自启动

    docker update --restart=always 容器id
    





    4.在服务器中操作数据库

    首先要进入进入容器bash,然后输入密码123456进行登录

    docker exec -i -t wwhmysql bash
    

    不想要这个数据库了,咋办



    5.删除容器

    1. 查看容器
    docker ps -a
    




    2. 删除容器

    如果这个容器不想要,删除也非常简单。通过docker ps 找到容器的 CONTAINER ID

    docker stop 5b4f4c6a89d8  # 停止容器运行
    docker rm  5b4f4c6a89d8   # 删除容器
    

    3. 删除镜像

    首先通过 docker images 找到镜像IMAGE ID。

    然后,通过docker rmi 命令删除。

    docker rmi cc8775c0fe94
    

    原来新建的存放数据的wwh也删除掉

  • 相关阅读:
    c#中文字符串与byte数组互相转化
    c#的中英文混合字符串截取 public static string SubString(string inputString, int byteLength)
    c#的中英文混合字符串截取指定长度,startidx从0开始
    //字符是否为汉字
    //获得字节长度
    C# 截取中英文混合字符串分行显示宽度相同
    C#截取中英文混合字符串分行显示
    C#截取指定长度中英文字符串方法 (修改)
    截取字符串的长度(中英文)
    canvas贪吃蛇游戏
  • 原文地址:https://www.cnblogs.com/wwho/p/14271544.html
Copyright © 2020-2023  润新知