MySQL 慢查询日志的配置使用 slow_query_log,long_query_time,log_output,log-queries-not-using-indexes

MySQL 慢查询日志的配置使用

 

默认情况下slow_query_log的值为OFF,表示慢查询日志禁用。

mysql> show variables like '%slow_query_log%';
+---------------------+------------------------------------------+
| Variable_name       | Value                                    |
+---------------------+------------------------------------------+
| slow_query_log      | OFF                                      |
| slow_query_log_file | /data/mysql/bogon-slow.log               |
+---------------------+------------------------------------------+

通过设置slow_query_log的值来开启:MySQL重启后会失效。

mysql> set global slow_query_log=1;
Query OK, 0 rows affected (0.00 sec)

// MySQL重启后会失效。修改配置文件my.cnf永久生效修改my.cnf文件,增加或修改参数slow_query_log 和slow_query_log_file(慢查询日志文件的存放路径)

[mysqld]
slow_query_log=1 
slow_query_log_file=/data/mysql/bogon-slow.log

 

开启慢查询日志后,由参数long_query_time控制SQL记录到慢查询日志里面,默认情况下long_query_time的值为10秒。

mysql> show variables like 'long_query_time';
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+

mysql> set global long_query_time=3;
Query OK, 0 rows affected (0.00 sec)

mysql> show global variables like 'long_query_time'; 
+-----------------+----------+ 
| Variable_name   | Value    | 
+-----------------+----------+ 
| long_query_time | 3.000000 | 
+-----------------+----------+

查询慢查询记录条数

mysql> show global status like '%slow_queries%';

 

查看慢查询日志:less bogon-slow.log

[root@bogon mysql]# less bogon-slow.log
# Time: 2021-04-20T02:40:59.970785Z
# User@Host: root[root] @ localhost [127.0.0.1] Id: 22
# Query_time: 0.006356 Lock_time: 0.000192 Rows_sent: 409 Rows_examined: 818
SET timestamp=1618886459;
SELECT * FROM `index_whole` WHERE `cate` LIKE '%2%' ORDER BY `call_id` DESC;
  • 慢查询语句的查询时间(query_time)
  • 锁表时间(Lock_time)
  • 返回客户端的行数(Rows_sent)
  • 扫描过的行数(rows_examined)
  • 导致慢查询的sql_text

参数log_output :指定日志的存储方式

FILE:将日志存入文件(默认)。

TABLE:将日志存入数据库,日志信息会被写入到mysql.slow_log表。

同时两种日志存储方式,配置以逗号隔开:log_output='FILE,TABLE'

mysql> show variables like '%log_output%';

mysql> set global log_output='FILE';

 

系统变量log-queries-not-using-indexes:未使用索引的查询也被记录到慢查询日志中

mysql> show variables like 'log_queries_not_using_indexes';

mysql> set global log_queries_not_using_indexes=1;   // 开启

系统变量log_slow_admin_statements:是否将慢管理语句例如 ANALYZE TABLE 和 ALTER TABLE等记入慢查询日志

mysql> show variables like 'log_slow_admin_statements';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑漆#000000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值