Jie
发布于 2026-04-07 / 3 阅读
0
0

[docker-compose]-mysql 8

conf

[client]
default-character-set=utf8mb4
 
[mysql]
default-character-set=utf8mb4
 
[mysqld]
#服务端口号 默认3306
port=3306
 
# 数据路径,默认是/var/lib/mysql/
#datadir = /app/data/
 
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
 
# 最大连接数
max_connections=50
 
# 连接失败的最大次数。防止有人从该主机试图攻击数据库系统
max_connect_errors=20
 
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
 
skip-name-resolve
 
# 最大binlog文件大小。达到设定大小后,会创建新的bin log日志。
max_binlog_size=500M
# binlog过期天数。默认是0(永远存在)
# expire_logs_days=5
 
# 若不配置log-error默认输出到控制台。
# 若只配置但不指定文件,即:log-error,,则为datadir目录下的 `hostname`.err,hostname为主机名。
log-error = /var/log/mysql/error.log
 
# 是否启用慢查询日志,默认不启用
# slow_query_log={1|ON|0|OFF} 
slow_query_log=ON
# 默认路径为库文件目录下主机名加上-slow.log
slow_query_log_file=/var/log/mysql/slow.log 
 
# 指定慢查询超时时长(默认10秒),超出此时长的属于慢查询
long_query_time=10 
# 定义一般查询日志和慢查询日志的输出格式,默认为file
# log_output={TABLE|FILE|NONE} 
# 查询没有使用索引的时候是否也记入慢查询日志,默认OFF
# log_queries_not_using_indexes=OFF
 
# 开启一般查询日志,默认off关闭
# general_log=ON
# 指定一般查询日志路径
# general_log_file=/var/log/mysql/general.log 
 
# 用于监控MySQL服务在运行过程中的资源消耗、资源等待等情况,默认ON
# performance_schema = OFF

docker-compose.yaml

services:
  mysqldb:
    # 镜像
    image: mysql:8.4.4
    # 容器名字
    container_name: mysql8.4.4
    privileged: true
    environment:
      # 时区
      TZ: Asia/Shanghai
      # root用户的密码
      MYSQL_ROOT_PASSWORD: root123
      # 用户(不能是root, 后续需要给此用户赋予权限)
      MYSQL_USER: wuuqu
      # 用户密码,建议不要和root一样。
      MYSQL_PASSWORD: wuuqu123
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
    ports:
      - 3306:3306
    volumes:
      - ./log/:/var/log/mysql/
      - ./data/:/var/lib/mysql/
      - ./conf/:/etc/mysql/conf.d/
      - ./bak/:/bak/

评论