输入命令:show variables like 'slow%' mysql
能够发现 slow_query_log 为 OFF(默认),表示未开启慢查询日志sql
slow_query_log_file 为慢查询日志文件数据库
开启慢查询日志有两种方法apache
方法一: 临时开启windows
set global slow_query_log = on;工具
#没有使用索引的sql将会被记录入慢查询日志spa
set global log_queries_not_using_indexes = on; 3d
#查询时间大于等于long_query_time (单位秒)的sql将会被记录入慢查询日志日志
set global long_query_time = 1; # 1 表示 大于等于1s的sql记录在慢查询日志中,能够更改成毫秒甚至更少(修改以后,先关闭数据库链接,再从新链接后才能查看到修改)blog
方法二:永久性开启
更改mysql配置文件my.ini(windows),[mysqld]后追加画红框中的参数:
这里long_query_time = 0 表示全部的查询都记录到慢查询日志,只是为了检测配置是否生效,实际应用应该给一个合理的值。
保存配置文件,记得重启apache
慢查询日志开启后,被监控到的sql 都会写入 slow_query_log_file 中,格式以下:
既然生成了慢查询日志,固然也有慢查询日志分析工具,好比:mysql自带的 mysqldumpslow ,这里就很少说了。