在 Ubuntu 上开启 MySQL 日志,通常说的是开启慢查询日志或通用查询日志,也包括错误日志。下面按常见需求一步步说明(以 MySQL 5.7 / 8.0 为例,使用 systemd 的 Ubuntu)。
Ubuntu 上一般是:
/etc/mysql/mysql.conf.d/mysqld.cnf
或
/etc/mysql/my.cnf
编辑配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
log_error = /var/log/mysql/error.log
一般默认就有,不用改。
在 [mysqld] 下添加:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2
说明:
slow_query_log = 1 开启long_query_time = 2 超过 2 秒算慢查询创建日志文件并授权:
sudo touch /var/log/mysql/mysql-slow.log
sudo chown mysql:mysql /var/log/mysql/mysql-slow.log
general_log = 1
general_log_file = /var/log/mysql/mysql-general.log
同样需要建文件并授权:
sudo touch /var/log/mysql/mysql-general.log
sudo chown mysql:mysql /var/log/mysql/mysql-general.log
sudo systemctl restart mysql
登录 MySQL:
mysql -u root -p
执行:
SHOW VARIABLES LIKE 'slow_query_log';
SHOW VARIABLES LIKE 'general_log';
SHOW VARIABLES LIKE 'log_error';
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL general_log = 'ON';
sudo tail -f /var/log/mysql/mysql-slow.log
如果你说的“日志”是 binlog(二进制日志,用于主从/恢复),我也可以单独讲怎么开。你具体想开哪一种?