配置mysql8.0.21版本docker-compose启动容器

1. 总览

请添加图片描述

2 docker-compose.xml配置

version: '3'
services:
    mysql:
       image: 192.168.188.131:8000/mysql
       restart: always
       volumes:
           - ./data:/var/lib/mysql
           - ./my.cnf:/etc/mysql/my.cnf
           - ./mysql-files:/var/lib/mysql-files
           - ./log/mysql:/var/log/mysql
       environment:
           MYSQL_ROOT_PASSWORD: 123456
           TZ: Asia/Shanghai
       ports:
           - 3307:3306
       entrypoint: bash -c "chown -R mysql:mysql /var/log/mysql && exec /entrypoint.sh mysqld"

3. my.cnf配置

#客户端的配置----------------------------------------------------
[client]
socket = /var/run/mysqld/mysqld.sock
default-character-set = utf8mb4
 
[mysql]
#客户端字符集
default-character-set = utf8mb4
#套接字文件,本地连接使用
socket = /var/run/mysqld/mysqld.sock
 
#服务端的配置----------------------------------------------------
[mysqld_safe]
#错误日志的路径及名称
log-error=/var/log/mysql/mysql-error.log
#进程号文件
pid-file = /var/run/mysqld/mysqld.pid
#套接字文件,本地连接使用
socket = /var/run/mysqld/mysqld.sock
 
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
 
#这是自定义路径
#socket = /usr/mysql/mysqld.sock
#pid-file = /usr/mysql/mysqld.pid
#datadir = /usr/mysql/data
 
character_set_server = utf8mb4
#排序规则,不区分大小写
collation_server = utf8mb4_general_ci
secure-file-priv = NULL
 
#数据库服务器id,这个id主要用在主从数据库服务器之间标记唯一mysql标识
server-id=1
log-error=/var/log/mysql/mysql-error.log
#软件介质安装目录(因为是 通过docker自动安装,不需要启动这个,否则报错)
#basedir=/opt/mysql/mysql-8.0.21
#默认数据库存储引擎
default-storage-engine=Innodb
#大小写是否敏感,1为不区分
lower_case_table_names=0
#默认数据库隔离级别,读提交
transaction_isolation=READ-COMMITTED
#数据库允许的最大连接数(默认100,暂时用默认)
#max_connections=1000
#数据库关闭一个交互的连接之前所要等待的秒数
interactive_timeout=100
#数据库关闭一个非交互的连接之前所要等待的秒数
wait_timeout=100
#这个是因应mysql8的安全机制升级而需要修改的配置,不配置的话将无法登录管理
default_authentication_plugin= mysql_native_password
 
 
#------注意,bin-log相关参数配置在mysql启动成功后。重新修改my.cnf,把注释取消,重启容器才不报错
#二进制binlog日志文件存放位置及文件名前缀
#log-bin=/var/log/mysql/log-bin/mysql-bin.log
#binlog日志最大
#max_binlog_size = 100M
#binlog日志的保留秒数(30天)
#binlog_expire_logs_seconds=2592000
#二进制binglog日志缓冲大小
#binlog_cache_size=4M
#二进制日志的格式,row格式为记录每行数据的变化
#binlog_format=ROW
#为了确保binlog日志的安全,建议设置为1,这样每次事务提交时就会调用fdatasync()实时把binlog日志刷新到磁盘
#sync_binlog=1
 
 
#------注意,slow-log相关参数配置在mysql启动成功后。重新修改my.cnf,把注释取消,重启容器才不报错
#是否开启慢sql记录,1表示开启
#slow_query_log=1
#记录sql语句到慢日志的执行时间阈值(s)
#long_query_time=1
#控制错误日志信息的时间戳与时区,以及查询日志和慢日志写入文件时的时间戳与时区为本地system为本地时区
#log_timestamps=SYSTEM
#慢日志的路径及名称 
#slow_query_log_file=/var/log/mysql/mysql-slow.log
 
 
# Custom config should go here
!includedir /etc/mysql/conf.d/

4. 启动镜像

  1. sudo docker-compose pull 拉取镜像
  2. sudo docker-compose down 关闭容器
  3. sudo docker-compose up -d 启动容器
    注意: 该处配置镜像为基于mysql8.0.21版本镜像制作的私有仓库镜像

相关推荐

  1. Docker Compose 启动容器例子

    2024-07-21 04:58:04       18 阅读
  2. dockerfile和docker-composer配置启动

    2024-07-21 04:58:04       50 阅读
  3. ubuntu docker-compose 编排容器并且设置自启动

    2024-07-21 04:58:04       39 阅读
  4. Docker Compose 容器编排

    2024-07-21 04:58:04       47 阅读
  5. Docker compose容器编排

    2024-07-21 04:58:04       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 04:58:04       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 04:58:04       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 04:58:04       45 阅读
  4. Python语言-面向对象

    2024-07-21 04:58:04       55 阅读

热门阅读

  1. 分层评估的艺术:sklearn中的策略与实践

    2024-07-21 04:58:04       20 阅读
  2. etcd磁盘空间故障处理办法

    2024-07-21 04:58:04       19 阅读
  3. sklearn中的增量学习:特征提取的艺术

    2024-07-21 04:58:04       19 阅读
  4. JVM的 6 种垃圾回收算法

    2024-07-21 04:58:04       20 阅读
  5. C语言中值滤波函数

    2024-07-21 04:58:04       18 阅读
  6. 【大模型基础】4.1 数据挖掘(待)

    2024-07-21 04:58:04       20 阅读
  7. 【LeetCode 0231】【位运算】2的N次方

    2024-07-21 04:58:04       16 阅读
  8. 【Socket 编程】基于UDP协议建立多人聊天室

    2024-07-21 04:58:04       16 阅读