mysql慢查询

慢查询:就是记录执行时间较长的query,也就是我们常说的slowquery,通过设--log-slow-queries[=file name]来打开该功能并设置记录位置和文件名。不指定的话系统活默认指定一个
host_name_slow.log
慢查询日志采用的是简单的文本格式,可以通过各种文本编辑器查看其中的内容
。其中记录了语言执行的时刻,执行所消耗的时间,执行用户,连接主机等相关信息
Mysql还提供了专门来分析慢查询日志的工具程序   mysqlslowdump,用来帮助数据库管理人员解决可能存在的性能问题

配置mysql慢查询
第一种:
配置文件中配置:
• 在mysql配置文件my.cnf中增加:log-slow-queries=/opt/data/slowquery.log (指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log)
long_query_time=2 (记录超过的时间,默认为10s)
log-queries-not-using-indexes (log下来没有使用索引的query,可以根据情况决定是否开启)
•Windows:
•在my.ini的[mysqld]添加如下语句:
log-slow-queries = E:webmysqllogmysqlslowquery.log
long_query_time = 2(其他参数如上)
重启服务
第二种执行命令:
•set global slow_query_log=on;
•set global long_query_time=1;#设置记录查询超过多长时间的sql
•set global slow_query_log_file=‘/opt/data/slow_query.log’;#设置mysql慢查询日志路径,此路径需要有写权限
•这种方式不用重启mysql服务。

•SHOW VARIABLES LIKE '%query%';
•使用这个语句可以看到当前mysql慢查询是否开启,以及mysql的慢查询日志文件在哪。
•slow_query_log      #是否开启慢查询
•slow_query_log_file  #日志的存放位置
•long_query_time      #超过多少秒的查询就写入日志
原文地址:https://www.cnblogs.com/lingxia/p/6292980.html