mysql定時刪除過期數據記錄方法

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:時間單位:

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;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章