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日的錯誤日志。借助專業工具可提升分析效率,適用于大規?;驈碗s日志場景:
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
),確保日志文件不會無限增長;