Mysql定时删除表数据

由于用户环境有张日志表每天程序都在狂插数据,导致不到一个月时间,这张日志表就高达200多万条记录,但是日志刷新较快,里面很多日志没什么作用,就写了个定时器,定期删除这张表的数据。

  1. 首先查看mysql是否开启定时任务开关
    SHOW VARIABLES LIKE 'event_scheduler';
    Value为ON则已打开,OFF则关闭

    如果是OFF,就先打开:SET GLOBAL event_scheduler = ON;

然后创建我们想要的定时器及删除存储过程

c 复制代码
delimiter $$  
drop event if exists delplan;  
create event delplan
on schedule   
EVERY 1 DAY  
 STARTS '2019-07-02 00:00:00'  
ON COMPLETION  PRESERVE ENABLE  
do  
begin  
  delete from sys_prepose_sync_record where Sync_Time<(CURRENT_TIMESTAMP()-INTERVAL 497 HOUR);  
end $$  
delimiter;

最后把上面的语句在数据库执行一遍,大功告成,可以删除Sync_Time在497小时之前的数据了。

如果不想用该定时器了的话,可以直接在数据库事件中将状态更改为ENable即可。

使用navicat连接的数据库->事件->找到对应的事件修改

如果想要调整定时器执行时间间隔,可以直接在事件中修改

相关推荐
程序猿_极客16 分钟前
【免费】分享一套优质的基于SSM的校园失物招领系统的设计与实现,源码+文档+视频详解(讲解)
java·mysql·ssm·课程设计·失物招领系统
于平安1 小时前
MySQL-触发器
数据库·mysql
大猫和小黄1 小时前
MySQL锁与MVCC深度解析
mysql·mvcc·
数据库小学妹2 小时前
MySQL库存扣减实战:原子UPDATE、分桶方案与锁范围分析
数据库·后端·mysql
Linux-lucky4 小时前
39-41-Linux学习之旅之redis缓存基础与NFS基础
linux·运维·mysql·ubuntu
于平安4 小时前
MySQL-变量,流程控制与游标
数据库·mysql
徐子童5 小时前
介绍MVCC机制
java·mysql·面试题·秋招·并发·mvcc
thefool1122665 小时前
库和表基本操作、表的增删改查
mysql
Rain的Java大神之路16 小时前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试