mysql自帶只有清理binlog文件配置,沒有清理查詢日誌的配置,因此自己寫了個定時清理general_log_file的腳本
general_log_file可以存放表裏和文件裏,由於量很大,不建議放表裏
以下腳本定時執行可以清理general_log_file文件
#!/bin/bash
current_dir=`cd $(dirname $0);pwd`
cd $current_dir
echo $current_dir
today=`date +%Y%m%d`
yestoday=`date +%Y%m%d -d "-1 days"`
if [ $# -eq 1 ];then
yestoday=$1
fi
mysql -uroot -pv video_adver <<EOF
SET GLOBAL general_log = 'OFF';
EOF
mv binlog/general_log.sql binlog/general_log.sql.${yestoday}
find binlog/ -mtime +1 -name "general_log.sql.*" -exec rm -rf {} \;
touch binlog/general_log.sql
mysql -uroot -p video_adver <<EOF
SET GLOBAL general_log = 'ON';
EOF