zoukankan      html  css  js  c++  java
  • docker-mysql配置

    本文使用的是DaoCloud上的镜像,其上有较为详细的部署及配置文档,这里主要记录一些部署过程以及遇到的小坑

    下载mysql

    docker run -d -p 3306:3306 --name mysql -v /home/jochen/data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123 daocloud.io/library/mysql:5.7.6

    上面-v 是挂载数据目录操作,就是把生成的数据库文件映射到宿主机本地
    ps:这里可能会遇到一个错误:

    2021-01-06T01:10:13.287151Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
    2021-01-06T01:10:13.287166Z 0 [ERROR] Aborting
    

    此错误出现的原因是我们宿主机的目录下有其他文件存在,如果数据库的数据文件夹部分,如果使用挂载的宿主主机的文件夹,要保证这个文件夹里面是空的(里面有.gitignore等隐藏文件没事),如果里面有文件,就不会初始化数据库
    所以在运行容器时,要确保映射的宿主机数据目录是空的

    配置mysql

    mysql的配置文件在容器的/etc/myql/my.cnf文件下,这个配置文件会覆盖容器中所有的配置文件,一般我们需要修改mysql忽略大小写,只需要在该文件下添加这么一句话

    #[mysqld]后添加 
    lower_case_table_names=1
    

    然后重启应用即可

    #进入容器中
    docker exec -it 容器名或id /bin/bash
    
    #容器中执行
    service mysql restart
    
    #或者退出容器直接重启mysql容器
    docker restart mysql
    

    但是在容器内部默认是不含有编辑工具,即不存在我们常用的vim工具,此时我们修改去下载,默认的镜像源网速是十分感人的,我们需要修改镜像源

    mv /etc/apt/sources.list /etc/apt/sources.list.bak 
    echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list 
    echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list 
    echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list 
    echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list 
    #更新安装源 
    apt-get update 
    #如果下载过程中卡在[waiting for headers] 删除/var/cache/apt/archives/下的所有文件 
    #安装vim 
    apt-get install vim
    

    第二种修改配置文件的方式,是将配置文件映射到宿主机中,在运行容器的时候我们可以把容器的/etc/mysql/conf.d目录映射过来
    当 MySQL 服务启动时会以 /etc/mysql/my.cnf 为配置文件,本文件会导入 /etc/mysql/conf.d 目录中所有以 .cnf 为后缀的文件。这些文件会拓展或覆盖 /etc/mysql/my.cnf 文件中的配置。因此你可以创建你自己需要的配置文件并挂载至 MySQL 容器中的 /etc/mysql/conf.d 目录。

  • 相关阅读:
    list 集合工具类
    Java获取当前系统时间的前N小时时间
    注意点
    小bug
    Linux常用命令
    MySql的执行计划
    【解决问题】引入.vmx文件后,xshell连接Could not connect to ‘192.168.211.132‘ (port 22): Connection failed
    星涛:javaEE学习路线一览
    Vue响应式原理
    Java操作Xml文件
  • 原文地址:https://www.cnblogs.com/deehuang/p/14239435.html
Copyright © 2011-2022 走看看