如何开启MySQL慢查询日志
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何开启MySQL慢查询日志相关的知识,希望对你有一定的参考价值。
参考技术A 在mysql客户端中输入命令:show variables like '%quer%';
其中红框标注的选项是:
-slow_query_log是否记录慢查询。用long_query_time变量的值来确定“慢查询”。
-slow_query_log_file慢日志文件路径
-long_query_time慢日志执行时长(秒),超过设定的时间才会记日志
Linux:
在/etc/my.cnf配置文件的[mysqld]选项下增加:
slow_query_log=TRUE
slow_query_log_file=/usr/local/mysql/slow_query_log.txt
long_query_time=3
Windows:
在my.ini配置文件的[mysqld]选项下增加:
slow_query_log=TRUE
slow_query_log_file=c:/slow_query_log.txt
long_query_time=3
3
重启MySQL后,可发现已经开启慢查询日志本回答被提问者采纳 参考技术B pt-query-digest
子曰:“工欲善其事,必先利其器”善于利用好的性能分析工具可以使运维效率事半功倍。pt-query-digest 属于 Percona Toolkit 工具集中较为常用的工具,用于分析 slow log,可以分析 MySQL 数据库的 binary log 、 general log 日志,同时也可以使用 show processlist 或从 tcpdump 抓取的 MySQL 协议数据来进行分析。
11如何开启慢日志查询?
1、为什么要开启慢日志查询?
开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。
2、参数说明
slow_query_log 慢查询开启状态
slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录)
long_query_time 查询超过多少秒才记录
3、设置步骤
①.查看慢查询相关参数
mysql> show variables like ‘slow_query%‘; +---------------------------+----------------------------------+ | Variable_name | Value | +---------------------------+----------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /mysql/data/localhost-slow.log | +---------------------------+----------------------------------+ mysql> show variables like ‘long_query_time‘; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+
②.设置方法
将 slow_query_log 全局变量设置为“ON”状态
mysql> set global slow_query_log=‘ON‘;
设置慢查询日志存放的位置
mysql> set global slow_query_log_file=‘/var/lib/mysql/test-10-226-slow.log‘;
查询超过1秒就记录
mysql> set global long_query_time=1;
经过这些操作,则慢日志查询也就开启了!但这种方法只是临时生效,mysql重启后就会失效
所以我们不能让他失效,所以需进行如下操作
编辑配置文件/etc/my.cnf加入如下内容
[mysqld] slow_query_log = ON slow_query_log_file = /var/lib/mysql/test-10-226-slow.log long_query_time = 1
修改配置后重启
mysql
systemctl restart mysqld mysql -uroot -p
使用下面命令验证
show variables like ‘slow_query%‘;
mysql永久开启了漫查询日志功能
以上是关于如何开启MySQL慢查询日志的主要内容,如果未能解决你的问题,请参考以下文章