mysql regularly delete outdated data recording method

1, see MySQL whether to open the event function 

View command:

show variables like '%sc%';

Open event_scheduler (temporary open, MySQL service after reboot aging)

SET GLOBAL event_scheduler = ON;

Permanent opening method: my.cnf in the [mysqld] add event_scheduler = on # to restart the service

2, create an event 

create event myevent on SCHEDULE every 5 second do delete from Syslog.SystemEvents where ReceivedAt<(CURRENT_TIMESTAMP() + INTERVAL -5 DAY);#删除5天前的数据

Description:

ReceivedAt : Database Syslog.Systemevents time fields in the table

(date,INTERVAL expr type):

DATE : Database current time CURRENT_TIMESTAMP ()

INTERVAL : Keyword (interval)

expr : a specific time interval ( -5 )

type: time units:

MICROSECOND

Interval Unit: ms

SECOND

Spacing unit: seconds

MINUTE

Spacing unit: minutes

HOUR

Interval Unit: hour

DAY

Interval Unit: Day

WEEK

Unit interval: week

MONTH

Unit interval: Monthly

QUARTER

Unit interval: quarter

YEAR

Interval Unit: Year

SECOND_MICROSECOND

Composite spacer unit: seconds, milliseconds, expr can be used to specify the values of two seconds and milliseconds, respectively

MINUTE_MICROSECOND

Complex, Interval Unit: points, ms

MINUTE_SECOND

Composite spacer unit: minutes, seconds

HOUR_MICROSECOND

Complex, Interval Unit: hours, ms

HOUR_SECOND

Complex, Interval Unit: hours, seconds

HOUR_MINUTE

Complex, Interval Unit: hours min

DAY_MICROSECOND

Composite interval unit: days, ms

DAY_SECOND

Composite interval unit: days, seconds

DAY_MINUTE

Composite interval unit: day in divided

DAY_HOUR

Composite interval unit: days, hours

YEAR_MONTH

Complex, unit interval: year, month

  

 

If there is an event, delete, delete the command: drop Event IF EXISTS MyEvent;

3, turn on event 

alter event myevent on completion preserve enable;

4、Close the command of the event:alter event myevent on completion preserve disable;


Guess you like

Origin blog.51cto.com/6300167/2435356