通过配置文件配置日志
my.cnf 位置
查看自己版本 MySQL 默认读取配置文件的路径
mysql --help | grep my.cnf
我的这个版本的 MySQL 会以以下顺序读配置文件
/etc/my.cnf
/etc/mysql/my.cnf
/usr/local/etc/my.cnf
~/.my.cnf
如果使用了自定义位置可以通过查看进程启动参数 --defaults-file
ps aux | grep mysqld
日志配置
通用SQL日志 (General Query Log)
记录所有mysqld做的事,连接、断开、查询。
# 通用SQL日志
general_log_file = /var/log/mysql/mysql.log
general_log = 1
慢SQL日志 (Slow Query Log)
记录慢SQL
long_query_time 默认10,单位秒;SQL执行时间比long_query_time长的都会被记录。
# 慢SQL日志
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 10
log-queries-not-using-indexes = ON
在运行时开启日志
开启日志,登录 mysql client (mysql -u root -p) 然后执行:
SET GLOBAL general_log = 'ON';
SET GLOBAL slow_query_log = 'ON';
关闭日志,登录 mysql client (mysql -u root -p) 然后执行:
SET GLOBAL general_log = 'OFF';
SET GLOBAL slow_query_log = 'OFF';
即时生效,不需要重启。
查看日志文件位置
show variables like '%log_file';