mysql定时任务event——清理过期数据
需要删除数据的表名:t_req_log
建表sql
CREATE TABLE `t_req_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `host` varchar(200) DEFAULT NULL, `time` datetime DEFAULT NULL, PRIMARY KEY (`id`), ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1.查询是否开启事件调度
SHOW VARIABLES LIKE 'event_scheduler';
2.开启事件调度
临时:
SET GLOBAL event_scheduler = 1;
永久:
vim /etc/my.cnf
event_scheduler=ON
3.创建p_del_count存储过程。
接收传入参数30并执行删除数据操作,删除大于30天的数据。
drop procedure if exists p_del_count; create procedure p_del_count(IN `date_inter` INT) BEGIN delete from t_req_log where (TO_DAYS(NOW()) - TO_DAYS(FROM_UNIXTIME(unix_timestamp(time),'%Y%m%d'))) >=date_inter; END;
4.创建定时任务
从2018-05-15 00:00:00起每一天执行一次p_del_count这个存储过程,并将参数传给
p_del_count存储过程
drop event if exists e_del_t_req_log; create event e_del_t_req_log on schedule every 1 day starts '2018-05-15 00:00:00' on completion not preserve enable do call p_del_count (30);
5.查看已有定时事件任务
SHOW EVENTS;
6.事件的开启与关闭
开启某事件:ALTER EVENT e_del_t_req_log ON COMPLETION PRESERVE ENABLE;
关闭某事件:ALTER EVENT e_del_t_req_log ON COMPLETION PRESERVE DISABLE;
好记性不如烂笔头,最难不过坚持
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了