Bookmark and Share
How to logrotate mysq slow log files?
(Publish Date: 2009-6-10 1:12pm, Total Visits: 1551, Today: 1, This Week: 12, This Month: 39)

using lilnux logrotate to remove and rotate the log files.

1. crontab jobs

## rotate slow query log ##
30 1 1 * * /usr/sbin/logrotate -f /root/mysql-log-rotate 2>&1

2. the content of mysql-log-rotate

[root]~# more /root/mysql-log-rotate
# This logname can be set in /etc/my.cnf
# by setting the variable "err-log"
# in the [safe_mysqld] section as follows:
#
# [safe_mysqld]
# err-log=/var/lib/mysql/mysqld.log
#
# If the root user has a password you have to create a
# /root/.my.cnf configuration file with the following
# content:
#
# [mysqladmin]
# password =
# user= root
#
# where "" is the password.
#
# ATTENTION: This /root/.my.cnf should be readable ONLY
# for root !

/data/dblogs/mddb/slow-query.log {
        # create 600 mysql mysql
        notifempty
        monthly
        rotate 3
        missingok
        compress
        postrotate
        # just if mysqld is really running
        if test -x /usr/bin/mysqladmin && \
           /usr/bin/mysqladmin ping &>/dev/null
        then
           /usr/bin/mysqladmin -usupport -pXXXXX flush-logs
        fi
    endscript
}