不同版本的mysql命令和配置不一样,以下是2个版本
修改配置文件
log-slow-queries=/alidata/mysql-log/mysql-slow.log long_query_time = 1 定义查过多少秒的查询算是慢查询,我这里定义的是2秒 log-queries-not-using-indexes 没有使用索引的query
slow_query_log = 'ON' slow_query_log_file = /usr/local/mysql/data/slow.log long_query_time = 1
这段放到[mysqld]下面,重启mysql
验证慢查询是否开启
/*查看慢查询时间 */ show variables like "long_query_time";默认10s /*查看慢查询配置情况 */ show status like "%slow_queries%"; /*查看慢查询日志路径 */ show variables like "%slow%";
show variables like 'slow_query%'; show variables like 'long_query_time';
命令开启
set global log_slow_queries = on; # 开启慢日志 set [session|global] long_query_time =0.2 # 设置时间.精确的毫秒 set global log_queries_not_using_indexes = on; # 设置无索引的查询
set global slow_query_log='ON'; set global slow_query_log_file='/usr/local/mysql/data/slow.log'; set global long_query_time=1;