查事件调度器是否开启
SHOW VARIABLES LIKE 'event_scheduler'
在使用这个功能之前必须确保event_scheduler已开启,可执行
SET GLOBAL event_scheduler = 1;
或
SET GLOBAL event_scheduler = on;
查已有的事件调度
SHOW EVENTS;
事件内容查看,truncate_tsm_messages_3day事件名
SELECT * FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_NAME = 'truncate_tsm_messages_3day'
259200秒等于3天,3天执行一次,truncate_tsm_messages_3day事件名
create event truncate_tsm_messages_3day on schedule every 259200 second do delete from tsm_messages where createtime < DATE_SUB(CURDATE(),INTERVAL 3 DAY);
2022-08-22 15:25:00执行,删除tsm_messages表30天前的数据,table_tsm_messages_truncate事件名
create event table_tsm_messages_truncate on schedule at timestamp '2022-08-22 15:25:00' do delete from tsm_messages where createtime < DATE_SUB(CURDATE(),INTERVAL 30 DAY);
关闭事件
alter event table_tsm_messages_truncate disable;
开启事件
alter event table_tsm_messages_truncate enable;
删除事件
drop event if exists table_tsm_messages_truncate;