首页 > 解决方案 > 使用 docker-compose 时更改 mysql 日志记录级别

问题描述

我想[INFO]在运行时抑制来自 MySQL 的级别消息docker-compose up。我在 docker-compose.yml 中的条目如下所示:

db:
  image: mysql:5.7.28
  ports:
    - 3307:3306
  environment:
    MYSQL_ALLOW_EMPTY_PASSWORD: 'true'
  volumes:
    - db_data:/var/lib/mysql
    - ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d

我试过寻找额外的环境变量,但我没有看到任何似乎可以控制日志记录级别的东西。

除了 docker-compose.yml 之外,是否有不需要任何其他文件更改的方法?如果没有,还有什么方法可以实现?

标签: mysqldockerdocker-compose

解决方案


尝试--log_error_verbosity=2命令选项。值2表示“错误和警告”,可以1用于“仅错误”(参见MySQL 5.7 参考手册/5.4.2.4 错误日志过滤)。

db:
  image: mysql:5.7.28
  ports:
    - 3307:3306
  command: --log_error_verbosity=2   # errors and warnings
  environment:
    MYSQL_ALLOW_EMPTY_PASSWORD: 'true'
  volumes:
    - db_data:/var/lib/mysql
    - ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d

推荐阅读