• MySQL清理慢查询日志slow_log的方法


    一、清除原因

    因为之前打开了慢查询,导致此表越来越大达到47G,导致磁盘快被占满,使用xtrabackup进行备份的时候文件也超大。

    mysql> show variables like 'log_output%';
    Connection id:    1694401091
    Current database: mysql
    
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | log_output    | TABLE |
    +---------------+-------+
    1 row in set (0.00 sec)
    
    mysql> show variables like '%slow%';
    +---------------------+-------------------------------------+
    | Variable_name       | Value                               |
    +---------------------+-------------------------------------+
    | log_slow_queries    | ON                                  |
    | slow_launch_time    | 2                                   |
    | slow_query_log      | ON                                  |
    | slow_query_log_file | /home/mysql/data3311/sql01-slow.log |
    +---------------------+-------------------------------------+
    4 rows in set (0.00 sec)

    现在备份之前的文件夹大小只有3.1G,备份后大小3.3G,使用mysqldump逻辑备份数据库为234M。

    二、清理show_log的方法

    mysql> use mysql;
    mysql> SET GLOBAL slow_query_log = 'OFF';
    mysql> ALTER TABLE slow_log RENAME slow_log_drop;
    mysql> CREATE TABLE slow_log LIKE slow_log_drop;
    mysql> SET GLOBAL slow_query_log = 'ON';
    mysql> DROP TABLE slow_log_drop;

    三、相关参数

    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
  • 相关阅读:
    python_函数_文件
    Day_2_Python_str_list_dict的使用
    Day_1_Python_循环和格式化
    influxdb2.0版本部署+自启
    格式化Java内存工具JOL输出
    卷心菜的屯币日记
    influxDB时序数据库2.0FLUX查询语法使用记录
    两种转换2021-01-01T00:00:00Z为2021-01-01 00:00:00时间格式的方式(UTC时间转为yyyy-MM-dd HH:mm:ss)
    ThreadLocal的用处
    CentOS7使用ISO镜像文件作为离线Yum源
  • 原文地址:https://www.cnblogs.com/cyleon/p/10495577.html
Copyright © 2020-2023  润新知