• docker安装mysql(单体)


    docker安装mysql

    1. mac的m1芯片上不支持5.7版本的镜像,因此可以直接选择拉取8.0及之后的版本
    docker pull mysql
    
    • 1
    1. 创建mysql的宿主机数据卷挂载的文件夹
    # mysql的配置文件,注意conf.d文件夹必须要创建,否则启动容器的时候,数据卷
    # 会挂载失败
    mkdir -p /mydata/mysql/conf/conf.d
    # mysql的数据文件夹
    mkdir -p /mydata/mysql/data
    # mysql的日志文件夹
    mkdir -p /mydata/mysql/log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1. 先启动一个mysql镜像,为了拷贝mysql的配置文件,给这个临时的容器起一个名字,叫做test_mysql,待会要删除掉
    docker run -dit --name test_mysql mysql /bin/bash
    
    • 1
    1. 进入mysql容器
    docker exec -it test_mysql /bin/bash
    
    • 1
    1. 查看当前mysql容器默认的配置文件的位置以及配置文件的优先级顺序
    mysql --help | grep my.cnf
    
    • 1

    在这里插入图片描述
    上图的输入内容解释:
    /etc/my.cnf/etc/mysql/my.cnf/usr/etc/my.cnf~/.my.cnf,把mysql的配置文件my.cnf放到这几个地方,mysql才会识别,并且如果这几个地方如果都有配置文件,那么mysql的加载顺序将严格按照上图输出的顺序,按照我的理解,前面的配置项将会被后面的配置项覆盖,这里我们选择的是在/etc/mysql文件夹下面挂载我们的配置文件,但是进入容器后,会发现改目录下面并没有配置文件,但是/etc/my.cnf下面有,因此我们只需要把/etc/my.cnf文件拷贝到宿主机,然后将其移动到宿主机中/etc/mysql对应的数据卷下即可。

    1. 拷贝mysql容器中/etc/my.cnf到宿主机/mydata/mysql/conf目录下
    docker cp test_mysql:/etc/my.cnf /mydata/mysql/conf
    
    • 1

    在这里插入图片描述
    7. 启动容器

    docker run -p 3306:3306 --name mysql1 -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=dingqinglei. -d mysql
    
    • 1
    1. 删除test_mysql容器
    docker rm -f test_mysql
    
    • 1
  • 相关阅读:
    Linux安装JDK8(附带压缩包)
    JVM启动参数简介
    重温 JavaScript 系列(4):实现异步的方法、 promise实现文件读取、Promise的并发处理
    java中的IO流之转换流(编码转换)
    要我说,还是会写总结的项目经理才吃香
    CTFHub | 过滤空格
    好用免费的PPT模板
    STC51单片机学习笔记6——串口发送&中断接收
    让EXCEL VBA支持鼠标滚轮,vb6 IDE鼠标滚轮插件原理
    STM32人工智能检测-筛选机器人
  • 原文地址:https://blog.csdn.net/xichengfengyulou/article/details/126902455