MySQL slow_query_log慢查询日志配置详解

slow_query_log是记录SQL执行超过一定时间的参数。

slow query log相关变量

1、命令行参数:

    --log-slow-queries

    指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log

2、系统变量

    log_slow_queries

    指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log

    slow_query_log

    slow quere log的开关,当值为1的时候说明开启慢查询。

    slow_query_log_file

    指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log

    long_query_time

    记录超过的时间,默认为10s

    log_queries_not_using_indexes

    log下来没有使用索引的query,可以根据情况决定是否开启

发现执行时间过长的SQL,有效的改善数据库的性能时,非常有用的参数。

在这里介绍MySQL版本5.1以上里的配置方法。

修改/etc/my.cnf

slow_query_log : 无效(0或者OFF)、有效(1或者ON)
slow_query_log_file : 指定日志文件
long_query_time : 超过指定时间的SQL会记录到日志文件(默认时间为10秒)
※MySQL5.1可以指定1秒以下的时间。

# vi /etc/my.cnf
[mysqld]

slow_query_log = 1
slow_query_log_file = /data/log/mysql/slow_query.log
long_query_time = 5

使用set global

# mysql -u<用户名> -p <数据库名>
Enter password: [输入密码]

set global slow_query_log = 1;
set global slow_query_log_file = ‘/data/log/mysql/slow_query.log';
set global long_query_time = 5;

配置有效化

重启MySQL或者set global以后,配置才会有效。

总结

因数据库的响应慢导致整个系统的响应慢的情况非常多,推荐大家安装MySQL以后有效化slow_query_log。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BasicLab基础架构实验室

你的鼓励将是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值