mysql慢日志分割

mysql日志分割大致有三种方案

  1. 定时把日志重命名为历史文件,然后通过mysqladmin 执行flush-logs将日志文件描述符定位到新的文件;
  2. 通过命令定时的更换日志文件的路径set global slow_query_log_file=;
  3. 使用logrotate.

两种都要通过mysql的账号密码去登录mysql,第二种不用mv文件,所以我认为第二种方式更优雅一些.
以下是我通过第二种方式进行日志分割的脚本:

#!/bin/bash

time=`date "+%Y-%m-%d"`
host="127.0.0.1"
user="root"
passwd="******"
mysql -h$host -u$user -p$passwd -e "set global slow_query_log_file='/data/mysql_data/logs/slow-$time.log';"

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理