转自:https://www.cnblogs.com/wang-yaz/p/12424858.html
1、 查看MySQL是否开启了事件功能 查看命令: show variables like '%sc%'; 打开event_scheduler(临时开启,MySQL服务重启后时效) SET GLOBAL event_scheduler = ON; 永久开启方法:my.cnf中[mysqld]添加event_scheduler=on #重启服务 2、 创建事件 create event myevent on SCHEDULE every 5 second do delete from Syslog.SystemEvents where ReceivedAt<(CURRENT_TIMESTAMP() + INTERVAL -5 DAY);#删除5天前的数据 说明: ReceivedAt:数据库Syslog.Systemevents表中的时间字段 (date,INTERVAL expr type): date:数据库当前时间CURRENT_TIMESTAMP() INTERVAL:关键字(间隔) expr:具体的时间间隔(-5) type:时间单位: 如果存在事件,请先删除,删除命令:drop event if exists myevent; 3、 开启事件 alter event myevent on completion preserve enable; 4、关闭事件的命令:alter event myevent on completion preserve disable;
其他常用命令
--查看事件 show events; --查看具体事件 show create event eventName ; --关闭事件任务 : alter event eventName on completion preserve disable; --开启事件任务 : alter event eventName on completion preserve enable;
--每5秒删除2分钟前的数据 create event e_delete_wififlows on schedule every 5 second do delete from wififlows where timestamp < (CURRENT_TIMESTAMP() + INTERVAL -2 MINUTE);
时间单位:
MICROSECOND |
间隔单位:毫秒 |
SECOND |
间隔单位:秒 |
MINUTE |
间隔单位:分钟 |
HOUR |
间隔单位:小时 |
DAY |
间隔单位:天 |
WEEK |
间隔单位:星期 |
MONTH |
间隔单位:月 |
QUARTER |
间隔单位:季度 |
YEAR |
间隔单位:年 |
SECOND_MICROSECOND |
复合型,间隔单位:秒、毫秒,expr可以用两个值来分别指定秒和毫秒 |
MINUTE_MICROSECOND |
复合型,间隔单位:分、毫秒 |
MINUTE_SECOND |
复合型,间隔单位:分、秒 |
HOUR_MICROSECOND |
复合型,间隔单位:小时、毫秒 |
HOUR_SECOND |
复合型,间隔单位:小时、秒 |
HOUR_MINUTE |
复合型,间隔单位:小时分 |
DAY_MICROSECOND |
复合型,间隔单位:天、毫秒 |
DAY_SECOND |
复合型,间隔单位:天、秒 |
DAY_MINUTE |
复合型,间隔单位:天、分 |
DAY_HOUR |
复合型,间隔单位:天、小时 |
YEAR_MONTH |
复合型,间隔单位:年、月 |