慢日志之一:开启mysql慢查询日志并使用mysqldumpslow命令查看,分析诊断工具之四...

本文介绍了如何配置MySQL慢日志,包括开启慢日志、设置慢日志阈值,以及如何通过mysqldumpslow工具查看慢日志内容,找出性能瓶颈并进行优化。

一、查看慢日志是否开启

mysql> show variables like "%slow%";
+---------------------------+-------------------------------+
| Variable_name             | Value                         |
+---------------------------+-------------------------------+
| log_slow_admin_statements | OFF                           |
| log_slow_slave_statements | OFF                           |
| slow_launch_time          | 2                             |
| slow_query_log            | OFF                           |
| slow_query_log_file       | /var/lib/mysql/cmos1-slow.log |
+---------------------------+-------------------------------+
5 rows in set (0.01 sec)

二、开启和关闭

mysql> set global slow_query_log=1;
Query OK, 0 rows affected (0.07 sec)

慢日志阈值设置:

mysql> show variables like "%long_query_time%";
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.01 sec)

mysql> 

 

mysql> set global long_query_time=4;
Query OK, 0 rows affected (0.00 sec)

mysql> 

 

三、查看慢日志内容

long_query_time = 1 #定义超过1秒的查询计数到变量Slow_queries。
log-slow-queries = /usr/local/mysql/data/slow.log #定义慢查询日志路径。
log-queries-not-using-indexes #未使用索引的查询也被记录到慢查询日志中(可选)。
mysql自带了一个查看慢日志的工具mysqldumpslow。
执行mysqldumpslow –h可以查看帮助信息。
主要介绍两个参数-s和-t
-s 这个是排序参数,可选的有:
al: 平均锁定时间
ar: 平均返回记录数
at: 平均查询时间
c: 计数
l: 锁定时间
r: 返回记录
t: 查询时间

-t n 显示头n条记录。
实例:
mysqldumpslow -s c -t 20 host-slow.log
mysqldumpslow -s r -t 20 host-slow.log
上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。
mysqldumpslow -t 10 -s t -g “left join” host-slow.log
这个是按照时间返回前10条里面含有左连接的sql语句。
用了这个工具就可以查询出来那些sql语句是性能的瓶颈,进行优化,比如加索引,该应用的实现方式等。

 

使用mysqldumpslow 查看文件的方式查看:

[root@cmos1 ~]# mysqldumpslow -s c -t 20 /var/lib/mysql/cmos1-slow.log

 

linux下直接用查看文件的方式查看:

 

转载于:https://www.cnblogs.com/duanxz/archive/2012/07/10/2584825.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值