Ubuntu MariaDB日志分析技巧
在Ubuntu系统中,MariaDB的主要日志文件默认存储于/var/log/mysql/
目录下,常见类型及用途如下:
掌握常用命令可快速定位所需日志信息:
tail -f /var/log/mysql/error.log
实时跟踪错误日志的最新内容,便于及时发现异常;cat /var/log/mysql/error.log
查看整个日志文件(适合小文件),或less /var/log/mysql/error.log
分页浏览(适合大文件);grep "ERROR" /var/log/mysql/error.log
筛选出包含“ERROR”的日志条目,快速定位错误信息;awk
命令提取特定时间范围的日志,例如grep "ERROR" /var/log/mysql/error.log | awk '/2025-09-18/ {print $1,$2,$3}'
仅显示2025年9月18日的错误日志。借助专业工具可提升分析效率,适用于大规模或复杂日志场景:
sudo apt-get install percona-toolkit
,使用示例:pt-query-digest /var/log/mysql/slow.log
;/etc/logrotate.d/mysql
,可根据需求调整轮转周期(如每天)、保留数量(如保留7天)和压缩方式(如gzip);journalctl -u mariadb
查看MariaDB服务的日志,支持按时间、优先级过滤(如journalctl -u mariadb --since "2025-09-18" --priority=err
)。良好的日志管理习惯能提升分析效率和系统可靠性:
logrotate
自动清理(推荐),或手动执行sudo journalctl --vacuum-time=1w
(保留一周日志)sudo journalctl --vacuum-size=500M
(保留500MB日志),防止磁盘空间耗尽;general_log=1
)或慢查询日志(slow_query_log=1
),但需注意性能影响(生产环境建议仅在排查问题时临时开启);/etc/logrotate.d/mysql
文件,自定义轮转规则(如daily
、rotate 7
、compress
),确保日志文件不会无限增长;