温馨提示×

Linux MariaDB的日志管理技巧

小樊
61
2025-09-06 16:16:21
栏目: 云计算

一、日志类型与配置

  • 错误日志:记录启动、运行错误,配置参数 log_error=/var/log/mysql/error.log
  • 查询日志:记录所有SQL语句,配置参数 general_log=1general_log_file=/var/log/mysql/general.log
  • 慢查询日志:记录执行时间超阈值的查询,配置参数 slow_query_log=1long_query_time=2slow_query_log_file=/var/log/mysql/slow.log
  • 二进制日志:记录数据变更,用于复制和恢复,配置参数 log_bin=/var/log/mysql/mysql-binexpire_logs_days=7

二、日志轮转与清理

  • 自动轮转:使用 logrotate 工具,配置文件 /etc/logrotate.d/mysql,设置轮转周期(如每日)、保留天数、压缩等。
    sudo logrotate -vf /etc/logrotate.d/mysql  # 手动测试
    
  • 手动清理:通过 PURGE BINARY LOGS 命令删除二进制日志,或用 rm 删除旧日志文件(需停止服务)。

三、日志查看与分析

  • 实时查看:用 tail -f /var/log/mysql/error.log 监控错误日志。
  • 搜索关键字:用 grep 'error' /var/log/mysql/general.log 筛选特定日志。
  • 统计分析:用 awk 统计日志条目数,或用 mysqldumpslow 分析慢查询日志。

四、高级管理技巧

  • 日志审计:启用审计插件(如 server_audit),记录用户操作,配置参数 plugin_load_add=server_audit
  • 远程日志:通过 rsyslogLoki 将日志发送到远程服务器,便于集中管理。
  • 性能优化:将慢查询日志存储到表中(log_output=table),便于查询分析。

五、注意事项

  • 生产环境建议关闭通用日志(general_log=0),避免占用大量磁盘空间。
  • 二进制日志建议保留7-30天,根据业务需求调整。
  • 操作前备份日志文件,避免误删影响故障排查。

参考来源:[1,2,3,4,5,6,7,8,10,11]

0