1.慢查询日志定义
MySQL的慢查询日志是Mysql 提供的一种日志记录,它用来记录Mysql中相应时间超过阈值的语句,具体指运行时间超过long_query_time(默认时间是10秒)的sql,这些sql会被记录到慢查询日志中。
默认情况下,mysql数据库没有开启慢查询日志,需要手动设置参数;
2.常用语句
- 是否开启
SHOW VARIABLES LIKE '%slow_query_log%';
- 如何打开或者设置参数
set global slow_query_log=1
set global long_query_time=3 //3秒为慢查询,修改时间,需要新开一个会话才能看见修改后的值,要不然还是原来的
这种方式开启慢查询日志,只对当前数据库生效,如果MYSQL重启会失效
如果要永久生效,就需要修改配置文件my.cnf
在【mysqlId】下增加或者修改参数
slow_query_log=1
slow_query_log_file=/var/mysql/slow_query.log
- 查询慢查询数量
show global status like '%Slow_queries%';
3.慢查询分析工具 mysqldumpslow
在生产中如果手工分析日志,查找日志,分析sql是一个体力活,mysql 提供一个日志分析工具:mysqldumpslow
- 帮助信息
- 使用举例