代码之家  ›  专栏  ›  技术社区  ›  Nyxynyx

MySQL docker中的MySQL conf文件

  •  4
  • Nyxynyx  · 技术社区  · 8 年前

    我正在使用创建的docker容器中运行MySQL 5.7.20 the official MySQL docker image . MySQL conf文件需要安装在主机Ubuntu系统上。

    当前,MySQL docker容器是使用以下命令启动的

    sudo docker run -d \
    -p 3306:3306 \
    -e MYSQL_ROOT_PASSWORD=test \
    -v /root/test/mysql/var/lib:/var/lib/mysql \
    -v /root/test/mysql/etc:/etc/mysql \
    --name test-mysql \
    mysql:5.7
    

    但是,中没有conf文件 /root/test/mysql/etc ... 连接到docker容器的bash并发现 /etc/mysql 是空的!

    conf文件位于哪里?里面应该有一些吗 /etc/mysql/conf.d/ 和 /etc/mysql/mysql.conf.d/ ?

    1 回复  |  直到 8 年前
        1
  •  6
  •   yamenk    8 年前

    如果在不装载任何卷的情况下运行该命令:

    $ docker run -it mysql ls /etc/mysql
    conf.d  my.cnf  my.cnf.fallback  mysql.cnf  mysql.conf.d
    

    如果 /root/test/mysql/etc 存在 作为空文件夹,然后将其装载到 /etc/mysql 所有内容 /etc/mysql 将“替换”为 /root/test/mysql/etc .

    你可以有一个空的 /root/test/mysql/etc 文件夹并执行以下操作:

    docker volume create --driver local \
        --opt type=none \
        --opt device=/root/test/mysql/etc \
        --opt o=bind \
        mysql_vol
    

    sudo docker run -d \
    -p 3306:3306 \
    -e MYSQL_ROOT_PASSWORD=test \
    -v /root/test/mysql/var/lib:/var/lib/mysql \
    -v mysql_vol:/etc/mysql \
    --name test-mysql \
    mysql:5.7
    
    推荐文章