mysql定时删除过期数据记录的简单方法
1.连接登录MySQL后,先查看MySQL是否开启了事件功能:
命令:showvariableslike'%sc%';
发现event_sheduler是OFF关闭的;
2.打开event_scheuler:
临时开启(mysql服务重启后之后失效)
SETGLOBALevent_scheduler=ON;SETGLOBALevent_scheduler=1;—0代表关闭
永久开启
在my.cnf中的[mysqld]部分添加如下内容,然后重启mysql(mysql重启命令:servicemysqldrestart)
event_scheduler=ON
3.创建事件,这里举例每5秒钟定时删除wififlows表中过期2分钟的数据:
createevente_delete_wififlowsonscheduleevery5seconddodeletefromwififlowswheretimestamp<(CURRENT_TIMESTAMP()+INTERVAL-2MINUTE);
如果事先存在这个事件可以使用如下命令进行删除:
dropeventifexistse_delete_wififlows;
然后使用showevents;查看存在的事件
4.开启事件:
alterevente_del_wififlowsoncompletionpreserveenable;
5.关闭事件:
alterevente_del_wififlowaoncompletionpreservedisable;
以上这篇mysql定时删除过期数据记录的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。