重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。
成都创新互联自2013年创立以来,先为方正等服务建站,方正等地企业,进行企业商务咨询服务。为方正企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。
在MySQL客户端中输入命令:
show variables like '%quer%';
其中红框标注的选项是:
-slow_query_log是否记录慢查询。用long_query_time变量的值来确定“慢查询”。
-slow_query_log_file慢日志文件路径
-long_query_time慢日志执行时长(秒),超过设定的时间才会记日志。
2.
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后,可发现已经开启慢查询日志
开启慢查询日志 , 配置样例:
/etc/mysql/my.cnf
[mysqld]
log-slow-queries
在 my.cnf 配置文件中增加上述配置项并重启 mysql 服务,这时 mysql 慢查询功能生效。慢查询 日志将写入参数 DATADIR (数据目录:/var/lib/mysql)
指定的路径下,默认文件名是 host_name-slow.log 。
和错误日志、查询日志一样,慢查询日志记录的格式也是纯文本,可以被直接读取。下例中演示了慢查询日志的设置和读取过程。
1 )首先查询一下 long_query_time 的值 。
mysql show variables like 'long%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| long_query_time | 10 |
+-----------------+-------+
1 row in set (0.00 sec)
( 2 )为了方便测试,将修改慢查询时间为 5 秒。
mysql set long_query_time=1;
Query OK, 0 rows affected (0.02 sec)
以上操作只限于当前有效,关闭服务器得重新设置。下面的方法可直接写入my.cnf
log-slow-queries=/var/lib/mysql/slowquery.log
long_query_time=1