mysql5.7开启慢查询日志(windows系统+linux系统)

MySql提供慢SQL日志的功能,能够记录下响应时间超过一定阈值的SQL查询,以便于我们定位糟糕的查询语句。

首先,查询当前mysql数据库是否开启了慢查询日志功能:

mysql -uroot -p

******

show VARIABLES like '%slow%';

slow_query_log的值是ON,代表当前数据库已经开启了慢查询功能。slow_query_log_file表示慢日志的路径。

还可以查看超过多少秒算是慢查询:

show VARIABLES like 'long_query_time';

默认是10秒,这里已经被配置为1秒了。

那么慢查询功能是如何配置的呢?

Linux系统下是编辑/etc/my.cnf

slow_query_log=ON
slow_query_log_file=/var/lib/mysql/remotejob-01-slow.log
long_query_time=1

然后,重启mysql服务使之生效:

service mysqld restart

接下来就可以通过slow_query_log_file指定的日志路径查看慢查询记录了。

 

1. 查看mysql系统参数(windows系统)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

mysql> show variables like "%slow%";

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

| Variable_name             | Value                         |

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

| log_slow_admin_statements | OFF                           |

| log_slow_slave_statements | OFF                           |

| slow_launch_time          | 2                             |

| slow_query_log            | OFF                           |

| slow_query_log_file       | /mysql/data/nagiosdb-slow.log |

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

5 rows in set (0.00 sec)

 

 

slow_query_log: off关闭状态  on开启状态

slow_launch_time   默认超过2s为慢查询

slow_query_log_file  慢查询日志存放地点

 

 

这三个参数,在不同的mysql版本中,不太一样,不过都可以通过 show variables like "%slow%" 查看出来

1

  

2. 运行如下命令即可运行慢查询日志

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

mysql> set global slow_query_log=ON;

Query OK, 0 rows affected (0.03 sec)

 

mysql> set global slow_launch_time=5;

Query OK, 0 rows affected (0.00 sec)

 

mysql> show variables like "%slow%";

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

| Variable_name             | Value                         |

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

| log_slow_admin_statements | OFF                           |

| log_slow_slave_statements | OFF                           |

| slow_launch_time          | 5                             |

| slow_query_log            | ON                            |

| slow_query_log_file       | /mysql/data/nagiosdb-slow.log |

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

5 rows in set (0.00 sec)

 

 

mysql 5.1.6版本起,slow_query_log 和 slow_launch_time 支持写文件或写数据库表两种方式,并且日志的开启,输出方式的修改,都可以在global级别动态修改。

只需简单通过set global slow_query_log=ON;即可开启慢查询,而不需要重启数据库!<br>

3. 可以直接写到配置文件中 my.cnf

1

  

1

2

3

4

slow_query_log_file=/mysql/log/nagiosdb-slow.log

slow_launch_time=5

 

可以完成配置!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值