在运营网站的过程中, 可能会遇到网站突然变慢的问题, 一般情况下和 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
来源: http://www.linuxidc.com/Linux/2019-03/157848.htm