MariaDB在Linux上的日志管理技巧
一、日志类型与配置
- 错误日志:记录启动、运行错误,配置项
log_error
指定路径,如/var/log/mysql/error.log
。 - 查询日志:
- 通用查询日志:记录所有SQL语句,
general_log=1
启用,log_output
可选FILE
或TABLE
。 - 慢查询日志:记录超时查询(
long_query_time
设置阈值,如2秒),log_queries_not_using_indexes
可记录未用索引的查询。
- 通用查询日志:记录所有SQL语句,
- 二进制日志:记录数据变更,用于复制和恢复,
log_bin
指定路径,binlog_format
可选ROW
/STATEMENT
/MIXED
。
二、日志轮转与清理
- 使用logrotate工具:
- 创建配置文件
/etc/logrotate.d/mariadb
,设置每日轮转、保留7天、压缩旧日志。 - 示例配置:
/var/log/mysql/*.log { daily rotate 7 compress missingok create 640 mysql mysql postrotate mysqladmin flush-logs endscript }
- 创建配置文件
- 手动清理:通过
find
命令删除超期日志,如find /var/log/mysql/ -name "*.log" -mtime +30 -exec rm {} \;
。
三、日志查看与分析
- 实时查看:
tail -f /var/log/mysql/xxx.log
。 - 搜索关键字:
grep 'error' /var/log/mysql/error.log
。 - 慢查询分析:
mysqldumpslow
或pt-query-digest
工具分析慢查询日志。 - 二进制日志查看:
mysqlbinlog
查看具体变更,支持按时间范围过滤。
四、高级管理技巧
- 日志审计:安装审计插件(如
server_audit
),记录用户操作。 - 监控集成:结合Prometheus、Grafana等工具监控日志异常。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!