MariaDB 在 Linux 的常见日志路径与查看方法
一、常见日志类型与默认路径
- 下表汇总了 MariaDB 在 Linux 上常见日志的默认目录与文件名(不同发行版与安装方式可能略有差异):
| 日志类型 |
常见路径与文件名 |
默认是否开启 |
说明 |
| 错误日志 |
/var/log/mysql/error.log 或 /var/log/mariadb/mariadb.log |
是 |
记录启动、运行、关闭过程中的错误 |
| 慢查询日志 |
/var/log/mysql/slow.log |
否 |
记录超过阈值的 SQL,用于性能优化 |
| 通用查询日志 |
/var/log/mysql/general.log |
否 |
记录所有 SQL,生产环境通常关闭 |
| 二进制日志(binlog) |
/var/log/mysql/mysql-bin.000001 等 |
视配置 |
用于恢复与主从复制 |
| 审计日志(可选) |
/var/log/mysql/audit.log |
否 |
需安装插件(如 server_audit)启用 |
- 多数发行版将数据库日志放在 /var/log/mysql/ 或 /var/log/mariadb/ 目录;若未在该目录找到,可检查系统日志或 MariaDB 配置文件中的路径设置。
二、快速定位日志位置的方法
- 查看服务日志(systemd):使用命令 sudo journalctl -u mariadb,可快速看到服务启动、运行与报错信息,适合排查无法启动等问题。
- 登录数据库查询变量:执行以下 SQL 可直接显示关键日志路径与开关状态(需有相应权限):
- 错误日志:SHOW VARIABLES LIKE ‘log_error’;
- 慢查询日志:SHOW VARIABLES LIKE ‘slow_query_log%’;
- 通用查询日志:SHOW VARIABLES LIKE ‘general_log%’;
- 二进制日志:SHOW VARIABLES LIKE ‘log_bin%’;
- 检查配置文件:常见位置包括 /etc/my.cnf、/etc/mysql/my.cnf、/etc/mysql/mariadb.conf.d/50-server.cnf,在 [mysqld] 段落中查找 log_error、slow_query_log_file、general_log_file、log_bin 等参数。
三、常用查看与分析命令
- 实时查看错误日志:sudo tail -f /var/log/mysql/error.log
- 查看慢查询日志:sudo tail -f /var/log/mysql/slow.log
- 检索关键字(如 error):sudo grep ‘error’ /var/log/mysql/error.log
- 分析慢查询:使用 MariaDB 自带工具 mysqldumpslow,例如按时间排序:sudo mysqldumpslow -s t /var/log/mysql/slow.log;按次数排序:sudo mysqldumpslow -s c /var/log/mysql/slow.log。
四、日志轮转与审计简要
- 日志轮转:通常通过 /etc/logrotate.d/mysql 配置,示例策略为每日轮转、保留 7 天、压缩旧日志,并在轮转后重启 MariaDB 以重新打开日志文件(如 postrotate: systemctl restart mariadb)。
- 审计日志:如需记录登录与 SQL 审计,可加载 server_audit 插件并配置 server_audit_file、server_audit_events 等参数,审计日志默认写入 /var/log/mysql/audit.log(需确保目录与权限正确)。