mysql-slow.log-清理

mysql慢查询日志

    作为运维人员,磁盘空间也是监控中重要的一个环节,数据库服务器磁盘空间不足告警,有时候不是因为业务数据量大,而是因为开启了慢查询,如果my.cnf文件中log-queries-not-using-indexes = 1,那么慢查询记录的日志中就不完全是慢查询日志,它包含了查询中没有引用索引的语句,久而久之慢查询日志文件会越来越大,如下为清理慢查询日志,以及关闭未走索引查询记录slow log。

 

正确安全清空在线慢查询日志slowlog的流程

查看慢查询日志状态
 
mysql> show variables like '%slow%';
 
关闭慢查询日志
 
mysql> set global slow_query_log=0;
 
 
mysql> show variables like '%slow%';
 
 
指定新的慢查询日志文件路径
 
mysql> set global slow_query_log_file='/var/lib/mysql/slow_queries_new.log';
 
 
开启慢查询日志
 
 
mysql> set global slow_query_log=1;
 
 
mysql> show variables like '%slow%';
 
 
在新的慢查询日志文件中,检查慢查询语句
 
mysql> select sleep(5) as a, 1 as b;
 
 
more /var/lib/mysql/slow_queries_new.log
 
备份原有慢查询日志到新的目录
mv /var/lib/mysql/old-slow.log /bakup/old-slow.log.bak               #备份慢查询日志

最后删除文件慢查询文件

最后删除文件慢查询文件  rm /var/lib/mysql/old-slow.log

关闭未走索引查询语句记录slow log

set global log_queries_not_using_indexes = 'off';

三、相关参数

复制代码

mysql> show variables like '%log_output%';       # 默认是FILE
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | TABLE |
+---------------+-------+
1 row in set (0.00 sec)
mysql> show variables like '%quer%';
Connection id:    1694418241
Current database: *** NONE ***

+-------------------------------+-------------------------------------+
| Variable_name                 | Value                               |
+-------------------------------+-------------------------------------+
| ft_query_expansion_limit      | 20                                  |
| have_query_cache              | YES                                 |
| log_queries_not_using_indexes | ON                                  |
| log_slow_queries              | ON                                  |
| long_query_time               | 2.000000                            |
| query_alloc_block_size        | 8192                                |
| query_cache_limit             | 2097152                             |
| query_cache_min_res_unit      | 4096                                |
| query_cache_size              | 67108864                            |
| query_cache_type              | OFF                                 |
| query_cache_wlock_invalidate  | OFF                                 |
| query_prealloc_size           | 8192                                |
| slow_query_log                | ON                                  |
| slow_query_log_file           | /home/mysql/data3311/sql01-slow.log |
+-------------------------------+-------------------------------------+
14 rows in set (0.00 sec)

-- log_output 默认是FILE,表示慢查询日志输入至日志文件,可以通过set修改输出为TABLE

-- log_queries_not_using_indexes 默认是OFF,表示是否记录没有使用索引的查询

-- slow_query_log 默认是OFF,表示是否打开慢查询

-- long_query_time默认是 10.000000,表示记录超过时间的慢查询

SET global slow_query_log = ON;                  # 打开慢查询记录

SET GLOBAL long_query_time = 2.000000;           # 记录超过2秒的慢查询句语

SET GLOBAL log_queries_not_using_indexes = ON;   # 开启 记录没有使用索引的语句

SET global log_output='TABLE'                    # 默认为FILE,改为TABLE

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值