mysql慢查询参数配置
MySQL的慢查询,全名是慢查询日志,是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阀值的语句。
具体环境中,运行时间超过long_query_time值的SQL语句,则会被记录到慢查询日志中。
long_query_time的默认值为10,意思是记录运行10秒以上的语句。
默认情况下,MySQL数据库并不启动慢查询日志,需要手动来设置这个参数。
修改mysql配置文件 my.cnf
slow_query_log=1 //开启慢查询
slow-query-log-file=/www/server/data/mysql-slow.log //慢查询记录位置
long_query_time=2 //超过两秒的sql计入慢查询日志
log_queries_not_using_indexes=on //没有使用索引的sql计入慢查询日志
测试慢查询
- 修改配置文件之后重启mysql服务器
mysql> select sleep(2);
+----------+
| sleep(2) |
+----------+
| 0 |
+----------+
1 row in set (2.00 sec)
- 查看日志
[root@localhost data]# tail -f mysql-slow.log
# User@Host: root[root] @ localhost [] Id: 1
# Query_time: 0.080055 Lock_time: 0.000521 Rows_sent: 1 Rows_examined: 245808
use test;
SET timestamp=1575552673;
select count(*) from user;
# Time: 191205 21:31:33
# User@Host: root[root] @ localhost [] Id: 1
# Query_time: 2.001059 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
SET timestamp=1575552693;
select sleep(2);