在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 日志,确保系统的高效运行和问题的快速定位。