zoukankan      html  css  js  c++  java
  • Docker简单部署Mysql 5.7

    获取镜像

    1 docker pull mysql:5.7.22

    启动mysql

    docker run -p 3306:3306 --name mysql 
    -v /usr/local/docker/mysql/conf:/etc/mysql 
    -v /usr/local/docker/mysql/logs:/var/log/mysql 
    -v /usr/local/docker/mysql/data:/var/lib/mysql 
    -e MYSQL_ROOT_PASSWORD=123456 
    -d mysql:5.7.22

    若导入的sql文件过大,会导致无法导入,删除刚刚启动的容器,重新输入以下命令启动容器

     docker run -p 3306:3306 --name mysql 
     -v /usr/local/docker/mysql/logs:/var/log/mysql 
     -v /usr/local/docker/mysql/data:/var/lib/mysql 
     -e MYSQL_ROOT_PASSWORD=123456 
     -d mysql:5.7.22

    进入刚刚启动的容器

    docker exec -it mysql bash   #进入容器
    cd /etc/mysql/mysql.conf.d/ echo "max_allowed_packet= 128M" >> mysqld.cnf #设置导入的sql文件开始最大不超过128M
    exit #退出容器
    docker restart mysql #重启mysql

     需要将刚刚配置的文件持久化,否则启动新的mysql容器时,之前的配置会失效

    cd /usr/local/docker/mysql/conf   #进入需要宿主机存放文件目录
    docker cp mysql:/etc/mysql .       #将容器中相关文件拷贝到当前目录下
    cd mysql #进入刚刚拷贝到的mysql文件
    mv *.* .. #将mysql下的所有文件移动到conf下,即上级目录下
    rm -rm mysql #删除mysql
    docker rm -f mysql #删除mysql容器,并执行以下命令重新启动一个mysql容器,并将相关文件持久化
    docker run -p 3306:3306 --name mysql 
    -v /usr/local/docker/mysql/conf:/etc/mysql -v /usr/local/docker/mysql/logs:/var/log/mysql -v /usr/local/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.22

    后续用Docker-Compose部署即可在编写服务时初始化相关参数

    如下的模板文件:

    version: '3.1'
    services:
      mysql:
        restart: always
        image: mysql:5.7.22
        container_name: mysql
        ports:
          - 3306:3306
        environment:
          TZ: Asia/Shanghai
          MYSQL_ROOT_PASSWORD: 123456
        command:
          --character-set-server=utf8mb4
          --collation-server=utf8mb4_general_ci
          --explicit_defaults_for_timestamp=true
          --lower_case_table_names=1
          --max_allowed_packet=128M
          --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
        volumes:
          - mysql-data:/var/lib/mysql
    
    volumes:
      mysql-data:

     数据卷的默认地址在   /var/lib/docker/volumes  下

    作者:wuba
    出处:http://www.cnblogs.com/wuba/
    版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议。转载请注明出处!
  • 相关阅读:
    在线用户数与并发用户数的区别和比例关系
    MYSQL中数据类型介绍
    5分钟教你搞定RAID模式
    nginx与fastdfs配置详解与坑
    Fastdfs group通过添加硬盘扩容
    fastDfs配置文件tracker.conf配置详解
    FastDFS配置详解之Storage配置
    mysql修改库名
    vCenter Server Appliance(VCSA )6.7部署指南
    如何知道一个函数的执行时间简单案例
  • 原文地址:https://www.cnblogs.com/wuba/p/11278239.html
Copyright © 2011-2022 走看看