在 Debian 系统中,查看 MySQL 日志的方法取决于 MySQL/MariaDB 的安装方式 以及 日志配置。下面是常见、实用的查看方法。
mysql --version
或
systemctl status mysql
systemctl status mariadb
默认位置:
/var/log/mysql/error.log
查看方式:
sudo tail -n 100 /var/log/mysql/error.log
实时查看:
sudo tail -f /var/log/mysql/error.log
如果开启了:
/var/log/mysql/mysql.log
查看:
sudo less /var/log/mysql/mysql.log
默认可能未开启,位置一般在:
/var/log/mysql/mysql-slow.log
登录 MySQL:
mysql -u root -p
执行:
SHOW VARIABLES LIKE 'log_error';
SHOW VARIABLES LIKE 'general_log_file';
SHOW VARIABLES LIKE 'slow_query_log_file';
查看是否开启:
SHOW VARIABLES LIKE 'general_log';
SHOW VARIABLES LIKE 'slow_query_log';
sudo journalctl -u mysql
或
sudo journalctl -u mariadb
实时查看:
sudo journalctl -u mysql -f
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
或
sudo nano /etc/mysql/my.cnf
常见配置:
log_error = /var/log/mysql/error.log
general_log = 1
general_log_file = /var/log/mysql/mysql.log
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
修改后重启:
sudo systemctl restart mysql
# 错误日志
sudo tail -f /var/log/mysql/error.log
# systemd 日志
sudo journalctl -u mysql -f
# 查看日志路径
mysql -u root -p -e "SHOW VARIABLES LIKE 'log_error';"
如果你愿意,可以告诉我:
我可以给你更精确的命令。