在运营网站的过程中,可能会遇到网站突然变慢的问题,一般情况下和 MySQL 慢有关系,可以通过开启慢查询,找到影响效率的 SQL ,然后采取相应的措施。下面介绍一下如何开启慢查询:
1、开启慢查询
找到 MySQL 的配置文件 ,my.cnf (Windows 为 my.ini ),在 [mysqld]下增加下面几行:
long_query_time=2
log-slow-queries= /usr/var/slowquery.log
上面的 2 是查询的时间,即当一条 SQL 执行时间超过2秒的时候才记录,/usr/var/slowquery.log 是日志记录的位置。
然后重新启动MySQL服务
注意,mysql 5.6版本,记录慢查询日志的配置方式有修改为:
long_query_time=2
slow_query_log=1
slow_query_log_file=/tmp/slow-query.log
另外,可配置记录没有使用索引的查询日志:
log_queries_not_using_indexes=1
2、 MySQL 配置文件的位置
Windows:Windows 的配置文件为 my.ini,一般在 MySQL 的安装目录下或者 c:\Windows 下。
Linux:Linux 的配置文件为 my.cnf ,一般在 /etc 下。
注:可通过mysql>show full processlist;来查看当前mysql的连接进程;
3、要记录所有操作日志,包括select
在my.ini或my.cnf配置文件,[mysqld]中增加:log=文件名
例:log=/tmp/mysqlquery.log
重启mysqld,即会把所有相关操作日志都记录下来
注意:log记录的位置,mysql要有写权限;
注意,mysql 5.6版本,记录所有操作日志的配置方式有修改为:
general_log=on
general_log_file=/tmp/mysqlquery.log