一.开启慢sql日志捕获慢sql
查询mysql是否开启慢sql捕获:show variables like ‘%slow_query_log%’;
默认为OFF,开启:set global slow_query_log=1;
查看慢查询时间阈值:show variables like "%long_query_time%";
设置时间阈值:set global long_query_time=2; #需要重启会话才能看到新值
查询多少sql超过了慢查询时间的阈值:show global status like "%Slow_queries%";
查看慢日志文件路径:show variables like "%slow_query_log_file%";
使用mysql提供的慢日志分析工具mysqldumpslow ,获取慢sql
--获取慢日志中最多的10条sql
./mysqldumpslow -s r -t 10 /PATH/TO/慢日志文件 |more
如果需要永久保存慢日志配置:
找到my.cnf配置文件,
在msqld下配置:
slow_query_log=1; #开启
slow_query_log_file=/var/lib/mysql/xxx.log; #慢日志位置
long_query_time=3; #设置时间阈值
log_output=FILE #日志输出格式