mysql定时删除过期数据记录方法-创新互联
1、 查看MySQL是否开启了事件功能
创新互联建站是专业的阿里地区网站建设公司,阿里地区接单;提供网站设计制作、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行阿里地区网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!查看命令:
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:时间单位:
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 | 复合型,间隔单位:年、月 |
如果存在事件,请先删除,删除命令:drop event if exists myevent;
3、 开启事件
alter
event myevent on
completion preserve enable;
4、
关闭事件的命令:alter
event myevent on
completion preserve disable;
文章题目:mysql定时删除过期数据记录方法-创新互联
文章分享:http://azwzsj.com/article/ccogde.html