温馨提示×

mariadb在linux的日志在哪

小樊
37
2025-12-28 03:56:48
栏目: 云计算

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_errorslow_query_log_filegeneral_log_filelog_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_fileserver_audit_events 等参数,审计日志默认写入 /var/log/mysql/audit.log(需确保目录与权限正确)。

0