打开MySQL慢查询
MySQL慢查询记录日志对于跟踪PHP+MySQL 体系下的MySQL负载调优问题颇有用处,好比安装了不少Discuz!插件的用户,这样能够大概排查出那些插件有代码问题。其实启用MySQL的慢查询 日志很简单,只须要在MySQL的配置文件里添加log-slow-queries和 long_query_time两个参数便可。mysql
今天有个朋友问我,就顺带记录上来。更多的MySQL 优化信息能够查看这里:http://www.ccvita.com/category/mysqlsql
Windows下开启MySQL慢查询
MySQL在Windows系统中的配置文件通常是是my.ini找到[mysqld]下面加上
log-slow-queries = F:\MySQL\log\mysqlslowquery.log
long_query_time = 2 优化
Linux下启用MySQL慢查询
MySQL在Windows系统中的配置文件通常是是my.cnf找到[mysqld]下面加上
log-slow-queries=/data/mysqldata/slowquery.log
long_query_time=2 spa
注意
log-slow-queries = F:\MySQL\log\mysqlslowquery.log为慢查询日志存放的位置,通常这个目录要有MySQL的运行账号的可写权限,通常都将这个目录设置为MySQL的数据存放目录;
long_query_time=2中的2表示查询超过两秒才记录;插件
2009年09月24日更新
在my.cnf或者my.ini中添加log-queries-not-using-indexes参数,表示记录下没有使用索引的查询。好比:
log-slow-queries=/data/mysqldata/slowquery.log
long_query_time=2
log-queries-not-using-indexes 日志
mysqldumpslow命令
/path/mysqldumpslow -s c -t 10 /database/mysql/slow-log
这会输出记录次数最多的10条SQL语句,其中:排序
好比
/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条里面含有左链接的查询语句。索引
SHOW VARIABLES
SHOW VARIABLES是查看MySQL的配置参数,还能够使用相似SHOW VARIABLES LIKE ‘Key%’ 进程
SHOW PROCESSLIST
SHOW PROCESSLIST是查看当前正在进行的进程,对于有锁表等状况的排查颇有用处。通常状况下,打开MySQL的慢查询记录 一样有利于排查。it
SHOW OPEN TABLES
SHOW OPEN TABLES是显示当前已经被打开的表列表。
小结 使用mysqldumpslow命令能够很是明确的获得各类咱们须要的查询语句,对MySQL查询语句的监控、分析、优化是MySQL优化的第一步,也是很是重要的一步。