zoukankan      html  css  js  c++  java
  • docker 安装mysql5.7 加my.cnf

    重点,复制之前的my.cnf 要能用,touch一个是不行的;

    1、先新建文件夹: mkdir -p /docker/mysql/{logs,conf,data}
    2、获取镜像:docker pull mysql:5.7
    3、启动:
    docker run -p 3306:3306 --privileged=true -v /docker/mysql/logs:/logs  -v /docker/mysql/data:/var/lib/mysql  -v /docker/mysql/conf/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -e MYSQL_ROOT_PASSWORD=admin123 -d mysql:5.7
    docker run -p 3306:3306 --name mysql -v /docker/mysql/conf/:/etc/mysql/conf.d -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=admin123  --privileged=true --restart=always -d mysql:5.7 --lower_case_table_names=1
    

      

    4、直接连客户端

      加一个时区的启动语句:

    docker run -p 3306:3306 --name mysql -v /docker/mysql/conf/:/etc/mysql/conf.d -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=admin123  --privileged=true --restart=always -d mysql:5.7 --lower_case_table_names=1 --default-time_zone='+8:00'
    

      遇到这种问题,重启:

    /usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity on endpoint mysql (3230526a5128e57ec56cc4d1a48ade80c175bc5d9c8e9cc1456ebce50012f4ab):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 -j DNAT --to-destination 172.17.0.2:3306 ! -i docker0: iptables: No chain/target/match by that name.
    

      解决方法
    docker服务启动时定义的自定义链DOCKER被清除
    重启即可  systemctl restart docker

    ======================================

    加一个严格要求大小写的,也就是大小写敏感的my.conf:

    [mysql]
    #设置mysql客户端默认字符集
    default-character-set=utf8
    socket=/var/lib/mysql/mysql.sock
    
    [mysqld]
    #修改大小写敏感
    skip-grant-tables
    lower_case_table_names=1
    #mysql5.7以后的不兼容问题处理
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    # Settings user and group are ignored when systemd is used.
    # If you need to run mysqld under a different user or group,
    # customize your systemd unit file for mariadb according to the
    # instructions in http://fedoraproject.org/wiki/Systemd
    #允许最大连接数
    max_connections=200
    #服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    #创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    lower_case_table_names=1
    max_allowed_packet=16M 
    #设置时区
    default-time_zone='+8:00'
    [mysqld_safe]
    log-error=/var/log/mariadb/mariadb.log
    pid-file=/var/run/mariadb/mariadb.pid
    
    #
    # include all files from the config directory
    #
    !includedir /etc/mysql/conf.d/
    !includedir /etc/mysql/mysql.conf.d/
    

      这个my.cnf 不一定管用;

    docker run -di --name=mymysql -p 3306:3306 
    -v /docker/mysql/conf:/etc/mysql/conf.d 
    -v /docker/mysql/logs:/logs 
    -v /docker/mysql/data:/var/lib/mysql 
    -e MYSQL_ROOT_PASSWORD=admin123 -d mysql:5.7
    
    
    docker run -p 3306:3306 --name mysql -v /docker/mysql/conf:/etc/mysql/conf.d -v /docker/mysql/logs:/logs -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=admin123 -d mysql5.7
    
    
    docker run -di --name=mymysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin123 mysql:5.7
    
    
    docker run -p 3306:3306 --privileged=true -v /docker/mysql/logs:/logs  -v /docker/mysql/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=admin123 -d mysql:5.7 --lower_case_table_names=1
    
    
    docker run -p 3306:3306 --privileged=true -v /docker/mysql/logs:/logs  -v /docker/mysql/data:/var/lib/mysql -v /docker/mysql/conf:/etc/my.cnf.d -v /docker/mysql/conf/my.cnf:/etc/mysql/my.cnf  -e MYSQL_ROOT_PASSWORD=admin123 -d mysql:5.7
    
    -v /docker/mysql/conf/:/etc/mysql/conf.d
    
    docker run -p 3306:3306 --privileged=true -v /docker/mysql/logs:/logs  -v /docker/mysql/data:/var/lib/mysql -v /docker/mysql/conf:/etc/my.cnf.d -v /docker/mysql/conf/my.cnf:/etc/mysql/my.cnf  -e MYSQL_ROOT_PASSWORD=admin123 -d mysql:5.7  --lower_case_table_names = 1
    
    docker run -p 3306:3306 --privileged=true -v /docker/mysql/logs:/logs  -v /docker/mysql/data:/var/lib/mysql -v /docker/mysql/conf:/etc/my.cnf.d -v /docker/mysql/conf/my.cnf:/etc/mysql/my.cnf  -e MYSQL_ROOT_PASSWORD=admin123 -d mysql:8.0.11  --lower_case_table_names = 1
    
    docker run -p 3306:3306 --name mysql -v /docker/mysql/conf/:/etc/mysql/conf.d -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=admin123  --privileged=true --restart=always -d mysql:5.7 --lower_case_table_names=1
    
    docker run -p 3306:3306 --name mysql -v /docker/mysql/conf/:/etc/mysql/conf.d -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=admin123  --privileged=true --restart=always -d mysql:8.0.11 
    
    /etc/mysql
    
    /usr/sbin/mysqld --verbose --help |grep -A 1 'Default options'
    
    /etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf 
    
    cat ~/.my.cnf 
    cat /etc/mysql/my.cnf
    cat /etc/my.cnf
    
    lower_case_table_names = 1
    
    SELECT * FROM t_user -- T_USER
    
    docker run -p 3306:3306 --name mysql -v /home/mysql/conf/:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=admin123  --privileged=true --restart=always -d mysql:8.0.11
    
    docker run -p 3306:3306 --name mysql -v /home/mysql/conf/:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456  --privileged=true --restart=always -d mysql:8.0.11
    
    mysql -u root -p
    
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'admin123'; 
    
    show variables like '%lower_case_table_names%';
    

      试了N久:

    www.beicaiduo.com
  • 相关阅读:
    django查询今天,昨天,一周,分组统计月,年
    Rancher2.4.3 Rest API修改镜像地址
    Django-filter实现动态过滤与排序
    Python实现随机生成头像
    Python项目目录结构
    Django继承AbstractUser扩展字段
    Celery 监控方案
    Django项目配置快速启动
    Docker镜像分析工具dive
    Ddjango 多个app的urls配置
  • 原文地址:https://www.cnblogs.com/hoge66/p/12715009.html
Copyright © 2011-2022 走看看