共计 797 个字符,预计需要花费 2 分钟才能阅读完成。
在运营网站的过程中,可能会遇到网站突然变慢的问题,一般情况下和 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
: