慢查询日志分析

[size=large][color=black][b]打开慢查询日志[/b][/color][/size]

慢查询日志,顾名思义就是记录执行比较慢查询的日志。

查看是否开启慢查询日志:

show variables like '%slow%';

[img]http://images.cnitblog.com/blog/288950/201312/14132310-22e2ab8974f14feb9629a6f169d8aec4.png[/img]

打开慢查询日志。修改MySQL的配置文件my.cn一般是在/etc目录下面,加上下面三行配置后重启MySQL。

slow_query_log = ON
slow_launch_time = 2
slow_query_log_file = /usr/local/mysql/data/slow_query.log


slow_launch_time只能精确到秒,如果需要更精确可以使用一些第三方的工具比如后面介绍的pt-query-digest。
[img]http://images.cnitblog.com/blog/288950/201312/14132456-6bcb01c78ee2424fba56be375a80967f.png[/img]

注意:我这里用的MySQL版本是5.6,不同版本的MySQL开启慢查询的配置是不同的,比如5.6之前的某些版本是ong_query_time, long_query_time和log-slow-queries。可以先在终端执行show variables like '%slow%';查看下当前版本具体配置是什么。

也可以在终端通过设置全局变量来打开慢查询日志:

set  @@global.slow_query_log = ON;


[size=large][color=black][b]保存慢查询日志到表中[/b][/color][/size]

MySQL支持将慢查询日志保存到mysql.slow_log这张表中。通过@@global.log_output可以设置默认为TABLE,FILE和TABLE只能同时使用一个。

[img]http://images.cnitblog.com/blog/288950/201312/14133202-16185fdb9081462897611fb2b6406ff4.png[/img]

set @@global.log_output='TABLE';

[img]http://images.cnitblog.com/blog/288950/201312/14133234-6e82c9d85248431c9b5934c30c49cc29.png[/img]

参考:http://blog.csdn.net/wulantian/article/details/40296541
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值