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
    
  • 相关阅读:
    再谈PHP、Python与Ruby
    php消息队列
    创业如同追女生:成功的创业者都是追女生好手
    Windows 下 Python easy_install 的安装
    常用Python第三方库 简介
    Highcharts使用手册
    sqoop java api
    redis 读写分离
    linux 安装redis
    hive 安装和部署
  • 原文地址:https://www.cnblogs.com/binliubiao/p/15041504.html
Copyright © 2011-2022 走看看