zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

mySQL Slow Query Log Rotation(慢查询日志轮循设置)

mysqllog日志 设置 查询 Query slow
2023-09-14 08:59:36 时间

要分析公司网站MYSQL性能,常规MY.CNF调优是一方面,慢查日志分析也重要。

但现在日志太大了,作一个每天自动切割的任务。将脚本放在/etc/logrotate.d/。

如何分析导出日志,以后再写。

# place this script in /etc/logrotate.d/ or your appropriate logrotate dir.

~~~~~~~~~~~~~~~~~~

/var/log/XXX_MYSQL_slow.log {
    daily
    rotate 5
    missingok
    delaycompress
    create 0640 mysql mysql
    # skip notifempty

    postrotate
        MYCNF_FILE=/root/.my.cnf
        MYSQLADMIN=/usr/bin/mysqladmin
        if test -x $MYSQLADMIN \
                $MYSQLADMIN --defaults-file="$MYCNF_FILE" ping /dev/null
        then
            $MYSQLADMIN --defaults-file="$MYCNF_FILE" flush-logs
        fi
    endscript
}

# Intentionally not rotating mysqld.log

~~~~~~~~~

相关英文文档:

http://administratosphere.wordpress.com/2011/12/02/log-rotation-for-mysql/

http://blog.oneiroi.co.uk/mysql/mysql-slow-query-log-rotation/

以下两篇文档,用于了解CENTOS LINUX的CRONTAB和LOGROTATE的,看完了大致对过程就清楚了。

http://yaksayoo.blog.51cto.com/510938/162062/

   cron把命令行保存在/etc/crontab文件里,每个系统用户如果设置了自己的cron,那都会在/var/spool/cron下面有对应用户名的crontab。无论编写/var/spool/cron目录内的文件还是/etc/crontab文件,都能让cron准确无误地执行安排的任务,区别是/var/spool/cron下各系统用户的crontab文件是对应用户级别的的任务配置,而/var/crontab文件则是对应系统级别的任务配置。cron服务器每分钟读取一次/var/crontab/cron目录内的所有文件和/etc/crontab文件。

http://5iqiong.blog.51cto.com/2999926/790908

logrotate是作为linux系统日志的管理工具存在。他可以轮换,压缩,邮件系统日志文件。
默认的logrotate被加入cron的/etc/cron.daily中作为每日任务执行。
/etc/logrotate.conf为其默认配置文件指定每个日志文件的默认规则。
/etc/logrotate.d/* 为/etc/logrotate.conf默认包含目录其中文件也会被logrotate读取。指明每个日志文件的特定规则。

/var/lib/logrotate/statue中默认记录logrotate上次轮换日志文件的时间。

在debian下,在/etc/cron.daily/中会存在一个sysklogd任务。这个每日执行任务由cron启动,
任务会轮换系统默认日志文件。默认日志文件会由syslogd-listfiles命令给出。同时会killall -HUP syslogd重启syslog服务。

在redhat下,会在/etc/logrotate.d/下会存在一个syslog任务,这个任务由logrotate启动,
也会轮换系统默认日志文件。同时重启syslog服务。
。。。。

include /etc/logrotate.d 告诉 logrotate 读入存放在/etc/logrotate.d 目录中的日志转储参数,当系统中安装了RPM 软件包时,使用include 选项十分有用。RPM 软件包的日志转储参数一般存放在/etc/logrotate.d 目录。

include 选项十分重要,一些应用把日志转储参数存放在 /etc/logrotate.d 。

典型的应用有:apache, linuxconf, samba, cron 以及syslog。

这样,系统管理员只要管理一个 /etc/logrotate.conf 文件就可以了。

当 /etc/logrotate.conf 读入文件时,include 指定的文件中的转储参数将覆盖缺省的参数,


【MySQL】通用查询日志 general query log 详解 通用查询日志(general query log)用来记录用户的所有操作,包括启动和关闭MySQL服务、所有用户的连接开始时间和截止时间、发送给MySQL数据库服务器的所有SQL指令等。当我们的数据发生异常时,查看通用查询日志,还原操作时的具体场景,准确定位问题。
Metricbeat:mysql module之query metricset介绍 Elastic官网对于mysql query metricset介绍很少,也没有介绍其用法,但是在基于ELK实现mysql性能监控中,query metricset又是明显支持的指标集。本着探索学习精神,通过查阅了不少资料后,今天我们就针对query metricset来详细介绍。