mysql 定时删除过期数据记录
首先连接mysql数据库:
-
1、 查看MySQL事件功能开启。
show variables like %sc%; 打开event_scheduler(临时开启,MySQL服务重启后失效) set global event_scheduler = on; 永久开启方法:my.cnf中[mysqld]添加event_scheduler=on #重启服务
-
2、 创建事件
不设置starts 2020-03-19 00:00:00表示创建事件的时刻就是开始时间; t_web_log_event表示你起的事件名称; ad_web.t_web_log where update_time表示表名以及判断时间的字段名; 下面这句话的意思:每一天执行一次,删除过期三天的数据记录(最新记录的三天前) create event t_web_log_event on SCHEDULE EVERY 1 DAY STARTS 2020-03-19 00:00:00 DO delete from ad_web.t_web_log where update_time<(CURRENT_TIMESTAMP()+ INTERVAL -3 DAY);
-
3、查看事件
show events;
4、删除事件
t_web_log_event 事件名 drop event if exists t_web_log_event;
5、开启事件/关闭事件
alter event t_web_log_event on completion preserve ENABLE; alter event t_web_log_event on completion preserve DISABLE;
时间单位:
上一篇:
通过多线程提高代码的执行效率例子