Windows下开启MySQL慢查询
MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上
log-slow-queries = C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/mysql_slow.log
long_query_time = 2 (2表示记录超过两分钟的查询)
log-queries-not-using-indexes (记录所有不使用索引的查询)
Linux下启用MySQL慢查询
MySQL在Windows系统中的配置文件一般是是my.cnf找到[mysqld]下面加上
log-slow-queries=/data/mysqldata/slowquery.log
long_query_time=2
解释:显示系统中正在运行的所有进程,也就是当前正在执行的查询。大多数用户可以查
他们自己的进程,但是如果他们拥有process权限,就可以查看所有人的进程,包括密码。
对于有锁表等情况的排查很有用处
显示系统变量的名称和值
显示系统变量状态
/path/mysqldumpslow -s c -t 10 /database/mysql/slow-log
这会输出记录次数最多的10条SQL语句,其中:
-s, 是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙;
-t, 是top n的意思,即为返回前面多少条的数据;
-g, 后边可以写一个正则匹配模式,大小写不敏感的;
比如
/path/mysqldumpslow -s r -t 10 /database/mysql/slow-log
得到返回记录集最多的10个查询。
/path/mysqldumpslow -s t -t 10 -g “left join” /database/mysql/slow-log
得到按照时间排序的前10条里面含有左连接的查询语句。