Ubuntu系统中MariaDB日志文件的默认位置及查看方法
MariaDB在Ubuntu系统中的日志文件主要存放在/var/log/mysql/目录下(部分旧版本或自定义配置可能使用/var/log/mariadb/,但/var/log/mysql/是更常见的默认路径)。具体日志文件包括:
error.log;general.log;slow.log或mariadb-slow.log。使用tail -f命令可实时跟踪日志文件的更新(如错误日志的最新条目),适用于排查正在发生的故障:
sudo tail -f /var/log/mysql/error.log
按Ctrl+C可退出实时查看模式。
使用less或cat命令查看日志文件的完整内容(适合分析历史日志):
sudo less /var/log/mysql/error.log # 使用less可上下翻页,按q退出
sudo cat /var/log/mysql/error.log # 直接输出全部内容(适合小文件)
使用grep命令过滤日志中的关键信息(如“failed”“access denied”),快速定位问题:
sudo grep "failed" /var/log/mysql/error.log # 查找包含“failed”的错误日志
sudo grep "access denied" /var/log/mysql/error.log # 查找访问被拒绝的记录
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等参数确认路径。