A-A+

mysql bin日志文件清除sh

2009年03月27日 学习随笔 暂无评论 阅读 1 次

#!/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主要是用来做回滚和增量备份的。

给我留言

Copyright © 浩然东方 保留所有权利.   Theme  Ality 07032740

用户登录