MySQL优化 - 开启MySQL慢查询日志及分析工具mysqldumpslow
时间:2016-05-29 04:33 来源:linux.it.net.cn 作者:IT
1. 启用MySQL的慢查询日志很简单,只需在MySQL的配置文件my.cnf里添加:
[mysqld]
slow_query_log=1 - 开启慢查询日志
slow_query_log_file=/data01/mysqldata/3306/slow_query.log-- 慢查询日志存放位置,因需要可写,一般是数据存放目录
long_query_time=10 单位秒, 默认为10,表示超过10秒的才记录
slow_launch_time=2 - 表示如果建立线程花费了比这个值更长的时间,slow_launch_threads 计数器将增加
log_queries_not_using_indexes=OFF -- 设置为ON表示记录没有使用index的查询,默认没有开启
备注: 通过 show global status like '%slow%'; 来查看 slow_launch_threads 计数器。
2. 设置时间:
mysql > set long_query_time=5 ;
mysql > show variables like 'long%';
3. 慢查询日志分析工具mysqldumpslow 。
如果慢查询日志中记录内容很多,可以使用mysqldumpslow工具(MySQL客户端安装自带)来对慢查询日志进行分类汇总。mysqldumpslow对日志文件进行了分类汇总,显示汇总后摘要结果。
$ mysqldumpslow -s t -t 10 -g "left join" /data01/mysqldata/3306/slow_query.log
得到按照时间排序的前10条里面含有左连接的查询语句。
使用mysqldumpslow命令可以非常明确的得到各种我们需要的查询语句,对MySQL查询语句的监控、分析、优化是MySQL优化非常重要的一步。开启慢查询日志后,由于日志记录操作,在一定程度上会占用CPU资源影响mysql的性能,但是可以阶段性开启来定位性能瓶颈。
(责任编辑:IT)
1. 启用MySQL的慢查询日志很简单,只需在MySQL的配置文件my.cnf里添加:
slow_launch_time=2 - 表示如果建立线程花费了比这个值更长的时间,slow_launch_threads 计数器将增加 备注: 通过 show global status like '%slow%'; 来查看 slow_launch_threads 计数器。
2. 设置时间:
3. 慢查询日志分析工具mysqldumpslow 。
$ mysqldumpslow -s t -t 10 -g "left join" /data01/mysqldata/3306/slow_query.log 使用mysqldumpslow命令可以非常明确的得到各种我们需要的查询语句,对MySQL查询语句的监控、分析、优化是MySQL优化非常重要的一步。开启慢查询日志后,由于日志记录操作,在一定程度上会占用CPU资源影响mysql的性能,但是可以阶段性开启来定位性能瓶颈。 (责任编辑:IT) |