mysql清理查询日志(清理general_log_file)

本文介绍了一个用于定期清理MySQL通用查询日志文件的Shell脚本。该脚本通过设置global参数关闭和重新开启general_log,实现对general_log_file的日志清理,避免日志文件过大导致的磁盘空间占用问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值