阅读量:43
Ubuntu系统中MariaDB日志文件的默认位置及查看方法
一、默认日志文件位置
MariaDB在Ubuntu系统中的日志文件主要存放在/var/log/mysql/目录下(部分旧版本或自定义配置可能使用/var/log/mariadb/,但/var/log/mysql/是更常见的默认路径)。具体日志文件包括:
- 错误日志:记录数据库启动、运行中的错误信息(如配置错误、权限问题、崩溃日志),文件名为
error.log; - 通用查询日志:记录所有执行的SQL语句(需手动启用),文件名为
general.log; - 慢查询日志:记录执行时间超过阈值的SQL语句(需手动启用),文件名为
slow.log或mariadb-slow.log。
二、查看日志的常用命令
1. 实时查看日志(推荐)
使用tail -f命令可实时跟踪日志文件的更新(如错误日志的最新条目),适用于排查正在发生的故障:
sudo tail -f /var/log/mysql/error.log
按Ctrl+C可退出实时查看模式。
2. 查看完整日志内容
使用less或cat命令查看日志文件的完整内容(适合分析历史日志):
sudo less /var/log/mysql/error.log # 使用less可上下翻页,按q退出
sudo cat /var/log/mysql/error.log # 直接输出全部内容(适合小文件)
3. 搜索特定关键词
使用grep命令过滤日志中的关键信息(如“failed”“access denied”),快速定位问题:
sudo grep "failed" /var/log/mysql/error.log # 查找包含“failed”的错误日志
sudo grep "access denied" /var/log/mysql/error.log # 查找访问被拒绝的记录
4. 使用systemd查看服务日志
MariaDB作为systemd服务,可通过journalctl命令查看其所有日志(包括启动、停止、运行时的日志):
sudo journalctl -u mariadb # 查看mariadb服务的完整日志
sudo journalctl -u mariadb --since "2025-11-09" # 查看指定时间后的日志(如今日)
三、注意事项
- 权限问题:日志文件通常属于
mysql用户和组,普通用户无法直接访问,需使用sudo提升权限; - 日志启用状态:通用查询日志和慢查询日志默认是关闭的,如需查看需修改配置文件(
/etc/mysql/my.cnf或/etc/mysql/mariadb.conf.d/50-server.cnf)并重启服务:修改后执行[mysqld] general_log = 1 general_log_file = /var/log/mysql/general.log slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log long_query_time = 2 # 慢查询阈值(单位:秒)sudo systemctl restart mariadb使配置生效。 - 路径差异:若默认路径下无日志文件,可通过
sudo find / -name "*.log" | grep mariadb命令搜索日志文件的实际位置,或检查MariaDB配置文件中的log_error、general_log_file等参数确认路径。