• docker安装Mysql8.0并挂载外部配置和数据


    环境

    CentOS Linux release 7.7.1908 (Core)

    拉取Mysql8.0 镜像

    docker  pull mysql:8.0.18
    

    创建挂载目录

    mkdir -p /home/app/mysql/conf
    mkdir -p /home/app/mysql/data
    mkdir -p /home/app/mysql/logs
    

    放入my.cnf

    vi /home/app/mysql/conf/my.cnf
    

    把下面配置复制到文件中

    # Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
    #
    # This program is free software; you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation; version 2 of the License.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with this program; if not, write to the Free Software
    # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
     
    #
    # The MySQL  Server configuration file.
    #
    # For explanations see
    # http://dev.mysql.com/doc/mysql/en/server-system-variables.html
     
    [mysqld]
    pid-file        = /var/run/mysqld/mysqld.pid
    socket          = /var/run/mysqld/mysqld.sock
    datadir         = /var/lib/mysql
    secure-file-priv= NULL
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
     
    # Custom config should go here
    !includedir /etc/mysql/conf.d/
    

    创建启动容器

    docker run --restart=always -d -v /home/app/mysql/conf.d/my.cnf:/etc/mysql/my.cnf -v /home/app/mysql/logs:/logs -v /home/app/mysql/data/mysql:/var/lib/mysql  -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.18
    

    参数解释

    --restart=always                                            -> 开机启动容器,容器异常自动重启
    -d                                                          -> 以守护进程的方式启动容器
    -v /home/app/mysql/conf.d/my.cnf:/etc/mysql/my.cnf          -> 映射配置文件
    -v /home/app/mysql/logs:/logs                               -> 映射日志
    -v /home/app/mysql/data/mysql:/var/lib/mysql                -> 映射数据
    -p 3306:3306                                                -> 绑定宿主机端口
    --name mysql                                                -> 指定容器名称
    -e MYSQL_ROOT_PASSWORD=123456                               -> 写入配置root密码
    

    最终结果

  • 相关阅读:
    相关术语随笔
    JDK简介和mac下安装和查看版本命令
    英语
    英语学习2
    英语学习-19.1
    为什么java是只有值传递而没有引用传递
    线程
    关于同步异步

    jdk动态代理实现原理总结
  • 原文地址:https://www.cnblogs.com/roinbi/p/12032952.html
Copyright © 2020-2023  润新知