清空某个库下的所有表时,可以考虑导出这张表,以导出表结构的方式,把该库下所有的表结构导出来,再删库,导回去就好了
mysqldump
-d
参数是只导结构,不导数据的
这种定时任务一般都是写shell脚本来解决,通过定时执行shell脚本来实现定时任务。可以在shell脚本中,指定需要批量删除的数据库,将它们设置为变量,然后写清空表的语句,就可以实现定义在变量中的数据库批量删除。
你可以先写一个脚本进行测试,可以读取到一个数据库就行,然后将多个数据库放到数组中,循环遍历即可。
最后测试没问题的话,就可以将shell脚本添加到crontab定时任务中,就可以实现每2天定时清空数据表。
这个根据数据量来的:
若数据不大:
用crontab 写个脚本语言,先获取当前时间 比如php 为$day=inter(date("d",time()))//获取当前日期
if($day=1){//判断是否是月初
do{//数据大分页删除;根据时间取
$return = delData(time<strtotime(“-3 month”));
}while($total >(page-1)*每页数量)
}
2.定时存储过程
CREATE EVENT `e_call` ON SCHEDULE EVERY 3 MONTH eENDS 'time' ON COMPLETION NOT PRESERVE ENABLE DO call p_chk()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)