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;

时间单位:

含义 时间单位
毫秒 MICROSECOND
SECOND
MINUTE
HOUR
DAY
MONTH
YEAR

你可能感兴趣的:(数据库,mysql,定时任务,删除过期记录)