Ubuntu下MariaDB日志管理技巧
一、日志类型与配置
- 错误日志:记录启动、运行错误,配置路径
/etc/mysql/mariadb.conf.d/50-server.cnf:
log_error = /var/log/mysql/error.log。 - 慢查询日志:记录执行时间超阈值的SQL,需设置
long_query_time(单位:秒):
slow_query_log = 1,long_query_time = 2,路径/var/log/mysql/slow.log。 - 二进制日志:记录数据变更,用于复制和恢复,配置
log_bin路径及过期时间:
log_bin = /var/log/mysql/mysql-bin,expire_logs_days = 7。 - 审计日志:记录用户活动,需安装插件并配置:
plugin_load_add = server_audit,server_audit_events = connect,query。
二、日志轮转与清理
- 使用logrotate工具:
创建配置文件/etc/logrotate.d/mariadb,设置每日轮转、保留7天、压缩旧日志:/var/log/mysql/*.log { daily rotate 7 compress missingok create 640 mysql mysql }手动测试:
sudo logrotate -vf /etc/logrotate.d/mariadb。 - 手动清理旧日志:
删除超过30天的日志:find /var/log/mysql/ -name "*.log" -mtime +30 -exec rm {} \;。
三、日志查看与分析
- 实时查看:
tail -f /var/log/mysql/error.log(错误日志)。 - 搜索关键字:
grep 'error' /var/log/mysql/error.log。 - 慢查询分析:
mysqldumpslow /var/log/mysql/slow.log或pt-query-digest(需安装Percona工具包)。 - 二进制日志查看:
mysqlbinlog /var/log/mysql/mysql-bin.000001,可指定时间范围过滤。
四、高级管理技巧
- 启用日志审计:
安装审计插件后,通过SHOW GLOBAL VARIABLES LIKE 'server_audit%'验证配置,日志默认存放在/var/log/mysql/audit/。 - 结合监控工具:
使用Prometheus+Grafana监控日志文件大小、慢查询数量等指标,及时预警。
参考来源: