zoukankan      html  css  js  c++  java
  • MySQL-运行日志切割

    背景

    在生产环境中,基于慢日志进行性能分析的场景下,为防止慢查询日志文件等日志文件过大,不利于日志文件的读取和分析,也会影响MySQL Server 的性能。有必要按照一定的规则切割日志文件。

    实施

    下面以慢查询日志文件为例,进行说明。其它日志文件类似的方式实施。

    慢查询日志文件切割

    通过mysqladmin flush-logs [log_type]的方式实现日志切割

    cat > /scripts/cut_slow_log.sh <<-'EOF'
    #!/bin/sh
    
    #OPT_time=`date -d yesterday +"%Y-%m-%d"`
    OPT_time=$(date "+%Y-%m-%d")
    rmbaktime=$(date -d '-7 days' "+%Y-%m-%d")
    SLOW_DIR=/var/lib/mysql/slow_log
    MYSQL_HOME=/usr/local/mysql
    
    # 账号(执行 flush-logs 命令 ,需要有reload权限,允许使用flush语句)
    user="root"
    passwd="xxxxxx"
    
    
    #提前创建好一个存放目录:/var/lib/mysql/slow_log/
    #重命名旧慢查询日志
    mv ${SLOW_DIR}/slow.log ${SLOW_DIR}/slow-${OPT_time}.log
    
    # 刷新慢查询日志文件
    ${MYSQL_HOME}/bin/mysqladmin -u$user -p$passwd --socket=/tmp/mysql.sock flush-logs slow
    # ${MYSQL_HOME}/bin/mysql -u$user -p$passwd --socket=/tmp/mysql.sock -e "set global slow_query_log_file='${SLOW_DIR}/slow.log';"
    
    #删除历史slow.log
    rm -rf ${SLOW_DIR}/slow-$rmbaktime.log
    
    EOF
    
    # 定时任务:每天0点执行该脚本
    0 0 * * * sh /scripts/cut_slow_log.sh > /dev/null 2>&1
    
  • 相关阅读:
    Linux调度器性能分析
    [ZJOI2009]假期的宿舍
    CH1601 【模板】前缀统计 (trie树)
    P2580 于是他错误的点名开始了
    P1608 路径统计
    P4779 【模板】单源最短路径
    [JLOI2014]松鼠的新家
    [NOI2015]软件包管理器
    [HAOI2015]树上操作
    P3386 【模板】二分图匹配
  • 原文地址:https://www.cnblogs.com/binliubiao/p/15041504.html
Copyright © 2011-2022 走看看