通过配置文件配置日志
my.cnf 位置
查看自己版本 MySQL 默认读取配置文件的路径
1 2 |
mysql --help | grep my.cnf |
我的这个版本的 MySQL 会以以下顺序读配置文件
1. /etc/my.cnf
2. /etc/mysql/my.cnf
3. /usr/local/etc/my.cnf
4. ~/.my.cnf
如果使用了自定义位置可以通过查看进程启动参数 --defaults-file
1 2 |
ps aux | grep mysqld |
日志配置
通用SQL日志 (General Query Log)
记录所有mysqld做的事,连接、断开、查询。
1 2 3 4 |
# 通用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长的都会被记录。
1 2 3 4 5 6 |
# 慢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) 然后执行:
1 2 3 |
SET GLOBAL general_log = 'ON'; SET GLOBAL slow_query_log = 'ON'; |
关闭日志,登录 mysql client (mysql -u root -p) 然后执行:
1 2 3 |
SET GLOBAL general_log = 'OFF'; SET GLOBAL slow_query_log = 'OFF'; |
即时生效,不需要重启。
查看日志文件位置
1 2 |
show variables like '%log_file'; |
评论关闭。