查看你的mysql是否开启了慢查询——
进入mysql终端
show variables like '%slow%';
显示类似如下,表示慢查询已经开启
+---------------------+-------------------------------+
| Variable_name | Value |
+---------------------+-------------------------------+
| log_slow_queries | ON |
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /var/log/mysql/xdadb-slow.log |
+---------------------+-------------------------------+
如果上面显示ON的值为off,就是未开启
show variables like '%long%';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 3.000000 |
+-----------------+----------+
显示的是mysql配置几秒钟的查询算是慢查询,上面是3秒就归为慢查询
慢查询如何设置——
vim /etc/my.cnf
在[mysqld]下添加
log_slow_queries = on#开启慢查询日志记录
slow_query_log_file = /var/log/mysql/xdadb-slow.log#慢查询日志记录文件,请保证mysql能读写
long_query_time = 3#慢查询阀值
mysql重启——
service mysqld restart
cat /var/log/mysql/xdadb-slow.log
类似如下
/usr/local/mysql/libexec/mysqld, Version: 5.1.55-log (yes). started with:
Tcp port: 3306 Unix socket: /tmp/mysql.sock
Time Id Command Argument
# Time: 130329 16:06:34
# User@Host: root[root] @ localhost []
# Query_time: 4.001980 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
SET timestamp=1364544394;
select sleep(4);
上面最后一行select sleep(4),就是超过慢查询阀值的慢查询语句