mysql慢查询

慢查询

mysql慢查询,全名是慢查询日志,是mysql提供的一种日志记录,用来记录在mysql中响应时间超过指定时间的语句

参数

slow_query_log 慢查询开启状态,1表示开启,0表示关闭
long_query_time 慢查询指定时间,当查询时间多于这个值时,记录日志
slow_query_log_file 慢查询日志存放的路径

设置

查看慢查询相关参数

show variables like 'slow_query%,默认情况下是OFF

show variables like 'long_query_time,查询超过1s就记录

全局变量设置

这种设置方法只对当前数据库有效,mysql重启后则会失效
将slow_query_log全局变量设置为ON状态
set global slow_query_log='ON';
设置慢查询日志存放的位置
set global slow_query_log_file='/opt/mysql/mysqllog/logfile/slow-query.log';
超过1s就记录
set global long_query_time=1;

配置文件设置

要永久生效,就要修改配置文件my.cnf

cd /etc
vim my.cnf

[mysqld]
#打开慢查询:1表示打开
slow_query_log=1
#慢查询的日志保存路径--自定义的
slow_query_log_file=/opt/mysql/mysqllog/logfile/slow-query.log
#慢查询的时间,只要达到这个时间,就会在日志里打印
long_query_time=1


然后重启mysql服务service mysqld restart

测试

执行一条慢查询sql语句
select sleep(2)

查看是否生成慢查询日志
tail -f /opt/mysql/mysqllog/logfile/slow-query.log

参考文章

《MySQL慢查询—开启慢查询》
《mysql慢查询》

原文地址:https://www.cnblogs.com/my_captain/p/12832704.html