mysql开启慢查询日志

所谓慢查询即一条sql语句的查询时间超过了预定义好的规定查询时间,这些语句是要记录下来做语句优化使用的,下面是如何记录慢查询语句的方法:

1、先查看是否开启慢查询日志功能:

mysql> show global variables  like ‘slow_query_log‘;

+----------------+-------+

| Variable_name  | Value |

+----------------+-------+

| slow_query_log | OFF   |

+----------------+-------+

1 row in set (0.00 sec)

如果没有开启可以在sql命令界面直接打开:

mysql> set global slow_query_log=1;

Query OK, 0 rows affected (0.00 sec)

mysql> show global variables  like ‘slow_query_log‘;  #开启慢查询日志记录的命令

+----------------+-------+

| Variable_name  | Value |

+----------------+-------+

| slow_query_log | ON    |  # slow_query_log的值为on表示已经开启

+----------------+-------+

1 row in set (0.00 sec)

2、定义时间SQL查询的超时时间:

查看默认为多少秒:

mysql> show global variables  like ‘long_query_time‘;

+-----------------+-----------+

| Variable_name   | Value     |

+-----------------+-----------+

| long_query_time | 10.000000 |  #默认为10秒,时间太长,我设置为2秒

+-----------------+-----------+

1 row in set (0.00 sec)

mysql> set  global long_query_time = 2;

Query OK, 0 rows affected (0.00 sec)

mysql> show global variables  like ‘long_query_time‘;

+-----------------+----------+

| Variable_name   | Value    |

+-----------------+----------+

| long_query_time | 2.000000 | #将超时时间设置为2秒

+-----------------+----------+

1 row in set (0.00 sec)

3、查看慢查询日志的保存路径:

mysql> show global variables  like ‘slow_query_log_file‘;

+---------------------+-----------------------------+

| Variable_name       | Value                       |

+---------------------+-----------------------------+

| slow_query_log_file | /mydata/data/node9-slow.log |

+---------------------+-----------------------------+

1 row in set (0.01 sec)

4、测试效果:

先模拟执行一条命令睡眠4秒钟:

mysql> select sleep(4);

+----------+

| sleep(4) |

+----------+

|        0 |

+----------+

1 row in set (4.00 sec)

然后查看这条慢查询日志是否会被记录在慢查询日志当中:

[[email protected] ~]# cat  /mydata/data/node9-slow.log

# Time: 150408  9:22:41

# [email protected]: root[root] @ localhost []  Id:     1

# Query_time: 4.001110  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0

SET timestamp=1428456161;

select sleep(4);   #已经被记录到日志当中,生成环境可以记录慢查询语句,适当做SQL查询语句优化,如使用where语句或like语句做精确查询。

时间: 2024-10-18 14:41:00

mysql开启慢查询日志的相关文章

MySQL 开启慢查询日志

1.1 简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能. 1.2 登录数据库查看 [[email protected] lib]# mysql –uroot 因为没有设置设置密码,有密码的在 mysql –uroot –p 接密码 1.2.1 进入MySql 查询是否开了慢查询 mysql> show variables like 'slow_query%'; +---------------------+-------

MySQL 开启慢查询日志与普通日志

一.开启满查询日志 1.查看慢查询日志 SHOW VARIABLES LIKE '%slow%'; 2.开启慢查询日志 set GLOBAL slow_query_log =on; 3.设置慢查询日志保存文件与路径 set GLOBAL slow_query_log_file='/tmp/mysql_slow.log'; 4.设定慢查询日志时间 set GLOBAL long_query_time=1; 二.开启普通日志 1.查看普通日志 SHOW VARIABLES LIKE 'general

MYSQL开启慢查询日志实施

查看当前服务器是否开启慢查询: 1.快速办法,运行sql语句show VARIABLES like "%slow%" 2.直接去my.conf中查看. my.conf中的配置(放在[mysqld]下的下方加入) [mysqld] log-slow-queries = /usr/local/mysql/var/slowquery.loglong_query_time = 1  #单位是秒log-queries-not-using-indexes 使用sql语句来修改:不能按照my.con

mysql开启慢查询日志及验证过程

mysql慢查询 1.慢查询作用? 它能记录下所有执行超过long_query_time时间的sql语句,帮你找到执行慢的sql,方便我们对这些sql语句进行优化. 2.如何开启慢查询? 首先我们先查看mysql服务器的慢查询状态是否开启. 执行如下指令: 我们可以看到log_slow_queries状态为ON,说明当前已经开启慢查询.如果没有开启,进行如下操作: 方法一:找到mysql的配置文件my.cnf(/etc/my.cnf),在mysqld下方加入慢查询的配置语句(注意一定要在[mys

操作3 mongodb和mysql 开启慢查询日志 ,以及mongodb从配置文件启动

1. mongodb从配置文件启动 创建配置文件:/usr/local/mongodb/etc/mongodb.conf 配置文件的内容为: #Directory and relavent set dbpath = /var/mongodb/data logpath = /var/mongodb/logs/log.log profile=2 slowms=100 #repairpath = /var/mongodb/repair pidfilepath = /usr/local/mongodb/

mysql开启全查询日志方法

mysql5.5 log=E:/wamp/logs/mysql_all.log mysql5.6 general_log=ON general_log_file=E:/wamp/logs/mysql_all.log 相关文档:http://blog.csdn.net/ligaofeng/article/details/39210827

MySQL:动态开启慢查询日志(Slow Query Log)

前言 在开发中,高效能的程序 也包括 高效能的查询,所以优化SQL也是程序员必要技能之一.要优化就必须要有慢日志记录才可以知道哪些查询慢,然后反向去修改 慢日志设置方式 写入文件 写入数据库 实践操作 方式一:写入文件 编辑my.conf 中修改 log_slow_queries 的日志地址 $ cd /etc/mysql $ cat my.cnf |grep slow  log_slow_queries = /data/logs/mysql/mysql-slow.log $ sudo /etc

mysql数据库优化之开启慢查询日志

进入mysql数据库,使用 show variables like 'slow_query_log'; 查看是否开启了慢查询日志 value值为OFF,则慢查询日志没有开启,在开启慢查询日志之前,我们要确定mysql中是否开启了将没有使用索引的查询进行记录,使用 show variables like '%log%'; 进行查看 默认的是关闭的,首先我们要开启此配置,使用进行开启. set global log_queries_not_using_indexes=on; 接下来使用,查看mysq

mysql 开启慢查询及其用mysqldumpslow做日志分析

mysql慢查询日志是mysql提供的一种日志记录,它是用来记录在mysql中相应时间超过阈值的语句,就是指运行时间超过long_query_time值的sql,会被记录在慢查询日志中.long_query_time的默认值是10,意思是运行10S之上的语句. 慢查询日志的设置 1 .查看是否开启慢查询日志命令: show variables like '%slow_query_log%' 2.设置慢查询开启的命令 set global slow_query_log=1 注: slow_quer