mysql开启slowquery_log_MySQL slow_query_log慢查询日志配置详解

顾名思义,慢查询日志中记录的是执行时间较长的query,也就是我们常说的slow query,通过设--log-slow-queries[=file_name]来打开该功能并设置记录位置和文件名,默认文件名为hostname-slow.log,默认目录也是数据目录

slow_query_log是记录SQL执行超过一定时间的参数。

slow query log相关变量

1、命令行参数:

--log-slow-queries

指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log

2、系统变量

log_slow_queries

指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log

slow_query_log

slow quere log的开关,当值为1的时候说明开启慢查询。

slow_query_log_file

指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log

long_query_time

记录超过的时间,默认为10s

log_queries_not_using_indexes

log下来没有使用索引的query,可以根据情况决定是否开启

发现执行时间过长的SQL,有效的改善数据库的性能时,非常有用的参数。

在这里介绍MySQL版本5.1以上里的配置方法。

修改/etc/my.cnf

slow_query_log : 有效(0或者OFF)、无效(1或者ON)

slow_query_log_file : 指定日志文件

long_query_time : 超过指定时间的SQL会记录到日志文件(默认时间为10秒)

※MySQL5.1可以指定1秒以下的时间。

# vi /etc/my.cnf

[mysqld]

slow_query_log = 1

slow_query_log_file = /data/log/mysql/slow_query.log

long_query_time = 5

使用set global

# mysql -u -p

Enter password: [输入密码]

set global slow_query_log = 1;

set global slow_query_log_file = ‘/data/log/mysql/slow_query.log';

set global long_query_time = 5;

配置有效化

重启MySQL或者set global以后,配置才会有效。

总结

因数据库的响应慢导致整个系统的响应慢的情况非常多,推荐大家安装MySQL以后有效化slow_query_log。


版权声明:本文为weixin_30363285原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。