Debian MariaDB日志如何查看
小樊
51
2025-11-15 11:42:30
Debian 上 MariaDB 日志查看与定位
一、常见日志路径与用途
错误日志:通常在 /var/log/mysql/error.log ;部分安装或配置下可能在 /var/log/mariadb/mariadb.log 。该日志用于定位启动失败、权限/目录问题、语法错误等。
系统日志:若错误日志未单独写入文件,MariaDB 消息可能进入 /var/log/syslog ,可用关键字过滤查看。
通用查询日志:默认多未启用,启用后常见路径为 /var/log/mysql/mysql.log (性能影响较大,谨慎开启)。
慢查询日志:默认多未启用,启用后常见路径为 /var/log/mysql/mariadb-slow.log ,用于定位执行时间超过阈值的 SQL。
二进制日志:用于复制/时间点恢复,常见路径为 /var/log/mysql/mariadb-bin (及索引文件)。
以上路径在不同发行版与安装方式下可能略有差异,建议结合配置文件核对。
二、快速查看与检索命令
实时查看错误日志:
sudo tail -f /var/log/mysql/error.log
检索历史错误(含压缩归档):
sudo zgrep -i “error” /var/log/mysql/error.log.1.gz
从系统日志中过滤 MariaDB/MySQL 信息:
sudo grep -i -E “mysql.*error” /var/log/syslog
查看服务日志(systemd):
sudo journalctl -u mariadb -f
sudo journalctl -u mariadb --since “2025-11-15 10:00:00” --until “2025-11-15 12:00:00”
以上命令覆盖文件日志与 systemd 日志的常见检索方式。
三、启用与查看慢查询日志
编辑配置文件(Debian 常见为 /etc/mysql/my.cnf 或 /etc/mysql/mariadb.conf.d/50-server.cnf ),在 [mysqld] 段落加入:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mariadb-slow.log
long_query_time = 1
创建日志文件并设定属主:
sudo touch /var/log/mysql/mariadb-slow.log
sudo chown mysql:mysql /var/log/mysql/mariadb-slow.log
重启服务:
sudo systemctl restart mariadb
分析慢查询:
sudo mysqldumpslow -a /var/log/mysql/mariadb-slow.log
说明:旧参数 log-slow-queries 已废弃,建议使用 slow_query_log_file 。
四、定位日志路径与开启通用查询日志
确认实际错误日志路径:
sudo grep -i “log_error” /etc/mysql/my.cnf /etc/mysql/mariadb.conf.d/*.cnf 2>/dev/null
若需临时开启通用查询日志(会影响性能):
mysql -e “SET GLOBAL general_log = 1; SET GLOBAL general_log_file = ‘/var/log/mysql/mysql.log’;”
实时查看:
sudo tail -f /var/log/mysql/mysql.log
建议用完及时关闭:
mysql -e “SET GLOBAL general_log = 0;”
注意:通用查询日志与二进制日志等路径及启用状态均可在 MariaDB 配置文件中查看与调整。