您的位置:首页 > 数据库 > MySQL

mysql备份表(按需配置)

2016-01-01 11:37 656 查看
MYSQL="/usr/bin/mysql"
USER="root"
PASSWD="abc123"
DATDABASE="test"
LTABLE="laomeng"
BAKTABL="laomengbak"

#判断备份表是否存在如果不存在,创建新表

if [ ! -e "/var/lib/mysql/test/laomengbak.frm" ]; then
$MYSQL -u$USER -p$PASSWD --default-character-set=utf8 <<EOF
use $DATDABASE;
CREATE TABLE $BAKTABL(id int, name varchar(25),score int,sex int,createdate datetime);
SELECT * FROM laomengbak;
EOF
#if [ $? = "0" ]; then
# echo "create laomengbak talbe success!"
#else
#  echo "No table create"
# fi
#else
#echo "The laomegbak table arealy exists & continue"
fi

#将查询结果插入备份表中
#删除三天之前的数据
$MYSQL -u$USER -p$PASSWD --default-character-set=utf8 <<EOF
use $DATDABASE;
insert into laomengbak(id,name,score,sex,createdate ) select id,name,score,sex,now() as date from laomeng;
delete from laomengbak  where datediff(now(),createdate)>3;
EOF
#if [ $? = "0" ]; then
# echo "execute success"
#else
#echo "execute failed"
#fi

#delete from laomengbak  where datediff(now(),createdate)>3;  #删除三天之前的数据
#delete from laomengbak where date_format(createdate,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m') ;  #删除除上个月的数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 备份