mysql bin日志文件清除sh
#!/bin/sh
## 2007-11-6
DELLOG="/usr/local/logs/del-sqlbin.log.`date +%d`"
DELTMP="/usr/local/logs/del-sqlbin.tmp"
MAIL_ADDR="xxx@xxx.xx"
exec &>$DELLOG
DT=`date +'%Y-%m-%d %T'`
SINGLE=0
sleep 30
hostname
echo `date +'%Y-%m-%d %T'`
echo "EXEC>>"
echo "PURGE MASTER LOGS BEFORE '$DT';"
echo "PURGE MASTER LOGS BEFORE '$DT';" >$DELTMP
mysql -uroot -pxxx <$DELTMP
if [ $? = 0 ];then
echo "Purge master logs sucess!"
else
echo "Purge master logs failure!"
SINGLE=1
fi
echo "--------------------------------"
echo
if [ $SINGLE = 1 ];then
mail -s "Purge_master_logs_err" $MAIL_ADDR <$DELLOG
fi
装mysql5,运行一段时间后,在/var/db/mysql目录下出现一堆类似mysql-bin.000***,从mysql-bin.000001开始一直排列下来,而且有的占用了大量硬盘空间,高达上百兆。请问这些是什么文件,有何作用?可以清除吗?
MySQL的事务日志。删除复制服务器已经拿走的binlog是安全的,一般来说网络状况好的时候,保留最新的那一个足以。(缺点是将无法使数据库恢复先前的状态)
另外:在my.conf里把log-bin注释掉就可以了,我查了,logbin主要是用来做回滚和增量备份的。