mysql慢查询日志默认情况下统统写入到一个文件中,文件会变的越来越大,非常不方便查看分析。可以利用logrotate来对mysql慢查询日志、错误日志进行切割,便于DBA分析每日慢查询,优化数据库。 logrotate工具介绍参见《
logrotate日志管理工具》。
1. 定义日志轮滚策略 # vim mysql-log-rotate
“/data/mysql_log/slow_log_3306.log” /data/mysql_log/error_log_3306.log {
create 600 mysql mysql
dateext
notifempty
daily
maxage 60
rotate 30
missingok
compress
olddir /data/httplogs/old_log
postrotate
# just if mysqld is really running
if test -x /usr/local/mysql/bin/mysqladmin && \
/usr/local/mysql/bin/mysqladmin ping -uroot -pPASSWORD -S /tmp/mysql_3306.sock &>/dev/null
then
/usr/local/mysql/bin/mysqladmin flush-logs -uroot -pPASSWORD -S /tmp/mysql_3306.sock
fi
endscript
}
2. 设置计划任务 # vim /etc/crontab
59 23 * * * root ( /usr/sbin/logrotate -f /PATH/TO/mysql-log-rotate)
这样每天23点59分钟执行日志切割。 如需转载请注明出处:http://www.ttlsa.com/html/3173.html
转载于:https://my.oschina.net/766/blog/211269