1、方法一:利用Shell脚本定时每天触发,只要是7天以前的数据就执行delete操作。2、方法二:利用Mysql事件调度一个存储过程对7天前的数据执行delete操作。
首先利用数据库自带的命令行工具将数据库备份下来,例如对MySQL将databasename数据库备份到D:\data.sql(具体查阅数据库说明书)mysqldump databasename > "D:\data.sql"然后将该文件以日期参量重名名。如果指定保留N天的数据可能有一定困难,不过既然要求7天,不妨以星期作为区分。假设文件名具有格式“dat...
0 3 * * * `mysql -uroot -e 'PURGE BINARY LOGS BEFOREDATE_SUB( NOW( ), INTERVAL 7 DAY);'`上面的命令是每天凌晨3点删除7天前的binlog:
日期字段的数据类型如果是datetime、date等日期类型,可以直接做加减操作,获取前七天,直接减7就可以了。
DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份 cd $OUT_DIR #进入备份存放目录 DATE=`date +%Y_%m_%d` #获取当前系统时间 OUT_SQL="$DATE.sql" #备份数据库的文件名 TAR_SQL="mysqldata_bak_$DATE.tar.gz" #最终保存的数据库备份文件名 DUMP -u$DB_USER -p$...