一、MySql的慢查询日志的开启和存储
1、查看是否把没有使用索引的SQL记录到慢查询日志中,查看 log_queries_not_using_indexes 变量;
show VARIABLES LIKE "log_queries_%"
结果:
查询到的值若为OFF, 表示没有记录, 设置为on来开启记录;
set global log_queries_not_using_indexes = on;
2、查看查询时间 long_query_time ,即查询的时间大于这个值(单位为秒),则记录SQL到慢查询日志中;
show VARIABLES LIKE "long_query_time"
结果:
set global long_query_time=0.1; /* 设置为100ms */
重新打开一个查询的窗口,查询 long_query_time 的值被修改为0.1;
结果:
3、查看是否开启了慢查询日志,变量 slow_query_log ;
show VARIABLES LIKE "slow_query_log"
若值为Off, 表示没有开启;应该设置为On来开启;
set global slow_query_log = on;
4、查看慢查询日志记录的位置,查看 slow_query_log_file 变量
show VARIABLES LIKE "slow%"
结果:
5、慢查询日志的存储格式:
6、慢查询日志的分析工具
(1)mysqldumpslow 的使用, 查看帮忙
(2)查看路径在/home/mysql/data/mysql-slow.log 的慢查询日志的 top 的前3条;
结果: