You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker-Compose部署MariaDB:审计日志无法输出至syslog问题排查

问题排查与解决步骤

1. 容器内缺少Syslog服务(核心问题)

默认的MariaDB官方镜像没有预装syslog守护进程(比如rsyslog、syslog-ng),哪怕你配置了server_audit_output_type=syslog,容器内没有接收syslog的服务,日志根本无法生成。

解决方法二选一:

  • 方案A:挂载主机的syslog socket到容器
    修改docker-compose.yaml的volumes部分,添加主机的/dev/log挂载:

    volumes:
      - ./mysql-conf:/etc/mysql/conf.d
      - ./data/mysql:/var/lib/mysql
      - ./data/mysql/log/audit:/var/log/mysql
      - /dev/log:/dev/log  # 新增:挂载主机syslog socket
    

    配置后,MariaDB容器会把审计日志发送到主机的syslog服务,你可以在主机的/var/log/syslog(Debian/Ubuntu)或/var/log/messages(CentOS/RHEL)里,通过搜索server_audit关键词查看审计日志。

  • 方案B:在容器内安装并启动syslog服务
    若不想依赖主机syslog,可自定义Dockerfile,基于mariadb:10.11.6安装rsyslog:

    FROM mariadb:10.11.6
    RUN apt-get update && apt-get install -y rsyslog && rm -rf /var/lib/apt/lists/*
    CMD ["bash", "-c", "rsyslogd && docker-entrypoint.sh --transaction-isolation=READ-COMMITTED --binlog-format=ROW"]
    

    然后修改docker-compose.yaml使用自定义镜像:

    services:
      db:
        container_name: db
        build: .  # 替换原image行,使用本地构建的镜像
        # 其余配置不变
    

2. 清理冗余配置项

你的my.cnf里包含了一堆针对文件输出的配置(server_audit_file_*开头的项),既然用syslog输出,这些配置完全没用,可以删除,避免混淆:

plugin_load_add = server_audit
server_audit=FORCE_PLUS_PERMANENT
server_audit_logging=ON
server_audit_output_type=syslog
server_audit_events=connect,query
server_audit_query_log_limit=10000

3. 验证审计插件是否正确加载

进入容器执行SQL命令,检查插件状态:

docker exec -it db mysql -uroot -ppassword -e "SHOW PLUGINS LIKE 'server_audit';"

如果输出中Status列是ACTIVE,说明插件加载正常;如果是DISABLED或无结果,检查plugin_load_add配置是否正确,或者容器内是否存在server_audit.so插件文件(路径通常是/usr/lib/mysql/plugin/server_audit.so)。

4. 检查Syslog日志接收配置(针对方案A)

如果挂载主机syslog后还是看不到日志,检查主机的syslog配置是否允许接收容器的日志:

  • Debian/Ubuntu:默认rsyslog配置一般没问题,直接查看/var/log/syslog,搜索server_audit关键词。
  • CentOS/RHEL:查看/var/log/messages,同样搜索server_audit。

内容的提问来源于stack exchange,提问作者bullmaca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 20:40:12