MySQL慢查询和日志实例

简单介绍

MySQL慢查询日志是MySQL提供的一种日志记录,用于记录MySQL中响应时间超过指定阈值的语句。慢查询日志可以记录到文件,也可以记录到数据库表中。默认是不开启慢查询日志记录,一般生产环境不建议开启。开启后,会对MySQL的性能有一定影响。

参数说明

这里仅介绍几个常用的:

slow_query_log       是否开启慢日志查询,默认不开启

slow_query_log_file      慢查询日志记录文件的位置

long_query_time   慢查询响应时间阈值,超过此时间值会记录,默认为10,单位为秒。最小可以精确到微妙。调试时,可以把该参数值设置足够小,以便能记录到慢查询日志

操作方法

查看慢查询参数

show variables like 'slow_query%';
show variables like 'long_query_time';

参数设置方法

将 slow_query_log 全局变量设置为“ON”状态

set global slow_query_log='ON';

设置慢查询日志存放的位置

设置查询超过1秒就记录日志

执行一条慢查询SQL语句,查看是否生成慢查询日志

日志格式

慢查询日志被记录后,可以根据slow_query_log_file设置的文件,查看相应日志。

写入日志的每个语句都以 # 字符开头。对于每一组慢SQL,第一行记录的是该条 SQL 执行的时刻(如果 log_timestamps 参数为 UTC ,则该时间会显示 UTC 时区时间),第二行记录的是执行该语句的用户和 IP 以及链接 id ,第三行的几个字段解释如下:

●    Query_time: duration 语句执行时间,以秒为单位。

●    Lock_time: duration 获取锁的时间(以秒为单位)。

●    Rows_sent: 发送给 Client 端的行数。

●    Rows_examined:  服务器层检查的行数(不计算存储引擎内部的任何处理)。

tail -f /var/lib/mysql/test_slow.log

查看当前有多少慢sql查询的情况

show status like "%queries%";

参考资料

序号文章链接
1https://www.jb51.net/article/206447.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值