在Ubuntu上管理MariaDB日志可以通過多種方式進行,包括配置日志輪轉、啟用日志審計、查看和分析日志等。以下是一些實用的技巧和步驟:
logrotate 進行日志輪轉logrotate 是一個用于管理日志文件的工具,可以自動輪換、壓縮、刪除和發送日志文件,防止單個文件過大。
安裝 logrotate:
sudo apt update
sudo apt install logrotate
配置 logrotate:
logrotate 的配置文件通常位于 /etc/logrotate.conf,針對MariaDB的配置文件可以放在 /etc/logrotate.d/mysql 目錄中。你可以查看默認配置文件或創建自定義配置文件。cat /etc/logrotate.d/mysql
手動測試配置文件: 在應用配置之前,可以手動測試配置文件是否正確。
sudo logrotate -vf /etc/logrotate.d/mysql
自動運行 logrotate:
logrotate 通常是通過系統的定時任務(cron)自動運行的。你可以查看 logrotate 的定時任務。
cat /etc/cron.daily/logrotate
檢查日志輪轉是否生效:
你可以通過查看日志文件是否被輪轉和壓縮,以及查看 /var/lib/logrotate/status 文件來確認日志輪轉是否生效。
確認日志審計插件:
SHOW GLOBAL VARIABLES LIKE 'plugin_dir';
安裝日志審計插件:
修改 MariaDB 配置文件 /etc/mysql/mariadb.conf.d/50-server.cnf,增加 plugin_load_add。
plugin_load_add = server_audit
日志審計設置: 在配置文件中增加以下設置:
server_audit_events = CONNECT,QUERY,TABLE
server_audit_logging = ON
server_audit_file_path = /var/log/mysql/audit.log
server_audit_file_rotate_size = 1000000
server_audit_file_rotations = 5
啟動日志審計插件: 重啟 MariaDB 服務使配置生效。
sudo systemctl restart mariadb
使用 journalctl 命令:
可以查看和管理 MariaDB 的日志。例如,要查看最近的日志條目,可以運行:
journalctl -u mariadb
使用 tail 命令實時查看日志文件:
例如,要查看 /var/log/mysql/error.log 的最新條目,可以運行:
tail -f /var/log/mysql/error.log
使用 grep 命令搜索特定關鍵字的日志條目:
例如,要搜索包含 “error” 的日志條目,可以運行:
grep 'error' /var/log/mysql/error.log
使用文本處理工具對日志進行分析: 例如,要統計特定時間段內的日志條目數量,可以運行:
awk '/Jun 17/ {count} END {print count}' /var/log/mysql/error.log
設置 binlog 日志:
binlog 是 MariaDB 的二進制日志,用于記錄數據庫的更改操作??梢孕薷呐渲梦募?/etc/mysql/mariadb.conf.d/server.cnf,開啟 binlog 并指定存放日志文件的位置及文件名。
log_bin = /var/log/mysql/binlog
修改 MariaDB 配置文件: 例如,設置遠程訪問和修改端口:
bind-address = 0.0.0.0
port = 3306
通過以上步驟和技巧,你可以在 Ubuntu 上有效地管理 MariaDB 日志,確保系統的高效運行和問題的快速定位。