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 | 
                    
                
                
            
        
浙公网安备 33010602011771号