问题现象
如何开启 ECS Linux 主机中的 MySQL 慢查询。
问题原因
慢查询能记录下所有执行超过 long_query_time 时间的 SQL 语句, 可用于定位执行慢的 SQL 语句, 以便对相应 SQL 进行优化。
处理办法
先执行如下命令,查看 MySQL 服务器的慢查询状态是否开启:
- mysql> show variables like ‘%quer%’;
如果 log_slow_queries 状态为 OFF,则表示当前并没有开启慢查询。
开启慢查询非常简单,操作说明如下:
找到 MySQL 的配置文件(通常为 my.ini),然后在 [mysqld] 章节下方加入慢查询的配置语句即可:
注意:一定要在 [mysqld] 章节下方加入。
- slow_query_log
- log=slow-queries = /var/lib/mysql/mysql-slow.log
- long_query_time = 2
如下图示例, MySQL 将记录下所有执行时间超过2条的 SQL 语句。此处为测试时间,可以根据实际情况进行调整,但不应太小,最好在 5-10 秒之内。
说明:
- log-slow-queries:表示慢查询的日志存储目录。此目录文件一定要有写权限。注意:如果是 Windows 环境下需要写绝对路径,如:log-slow-queries=”C:/Program Files/MySQL/MySQL Server 5.5/log/mysql-slow.log”
- long_query_time:表示最长执行时间。
配置好以后重新启动 MySQL 服务。
如果问题还未能解决,您可以到阿里云社区进行
免费咨询,或联系云市场商家
寻求帮助。