How to automatically delete records before a specified time in Mysql

How to automatically delete records before a specified time in Mysql

About Event: MySQL 5.1 began to introduce the concept of event. Event is a "time trigger", which is different from the event trigger of triggers. Event is similar to the Linux crontab scheduled task and is used for time triggering. By using it alone or calling a stored procedure, the related SQL statement or stored procedure is triggered at a specific point in time.

First, delete the SQL statements recorded 2 days ago (webserver_monitormemory is the table name, time is the time field):

delete From webserver_monitormemory where DATE(time) <= DATE(DATE_SUB(NOW(),INTERVAL 2 day));

Create a stored procedure:

DELIMITER //
CREATE PROCEDURE autodel()
  -> BEGIN
  -> delete From webserver_monitormemory where DATE(time) <= DATE(DATE_SUB(NOW(),INTERVAL 2 day));
  -> END
  -> //
DELIMITER ;

Create an event and customize the stored procedure that executes autodel every day:

CREATE EVENT `event_auto_del_memorydata`  
ON SCHEDULE EVERY 1 DAY STARTS '2017-11-20 00:00:00'  
ON COMPLETION NOT PRESERVE ENABLE DO CALL autodel();

There are 4 ways to start the event plan (scheduler). The key value 1 or ON means on; 0 or OFF means off:

SET GLOBAL event_scheduler = 1; 
SET @@global.event_scheduler = 1; 
SET GLOBAL event_scheduler = ON; 
SET @@global.event_scheduler = ON;

There are three ways to check whether the event plan (scheduler) is currently enabled:

SHOW VARIABLES LIKE 'event_scheduler';
SELECT @@event_scheduler;
SHOW PROCESSLIST;

Event opening and closing:

ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE ENABLE; //Enable an event ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE DISABLE; //Disable an event

This is the simplest but also the most important. We have to start the timer manually, otherwise it will not work.

ALTER EVENT event_time_clear_data ON 
COMPLETION PRESERVE ENABLE;

In addition, the code to turn off the timer is:

ALTER EVENT event_time_clear_data ON 
COMPLETION PRESERVE DISABLE;

Delete the stored procedure:

DROP PROCEDURE pro_clear_data;

Delete Event:

DROP EVENT IF EXISTS event_time_clear_data1

Summarize

The above is the operation method of automatically deleting records before a specified time under MySQL introduced by the editor. I hope it will be helpful to everyone. If you have any questions, please leave me a message and the editor will reply to you in time. I would also like to thank everyone for their support of the 123WORDPRESS.COM website!

You may also be interested in:
  • MySQL scheduled task example tutorial
  • How to implement Mysql scheduled tasks under Linux
  • Using MySQL in Windows: Implementing Automatic Scheduled Backups
  • Detailed explanation of MySQL database Event scheduled execution tasks
  • Commonplace talk about MySQL event scheduler (must read)
  • Detailed explanation of the usage of event in MySQL
  • Detailed explanation of mysql scheduled tasks (event events)

<<:  Nginx proxy axios request and precautions

>>:  Detailed explanation of Linux curl form login or submission and cookie usage

Recommend

Detailed explanation of Vue development Sort component code

Table of contents <template> <ul class=&...

Comparison of two implementation methods of Vue drop-down list

Two implementations of Vue drop-down list The fir...

A record of the pitfalls of the WeChat applet component life cycle

The component lifecycle is usually where our busi...

Node script realizes automatic sign-in and lottery function

Table of contents 1. Introduction 2. Preparation ...

Unbind SSH key pairs from one or more Linux instances

DetachKeyPair Unbind SSH key pairs from one or mo...

JavaScript implements password box input verification

Sometimes it is necessary to perform simple verif...

How to successfully retrieve VMware Esxi root password after forgetting it

Prepare a CentOS6 installation disk (any version)...

Realize map aggregation and scattering effects based on vue+openlayer

Table of contents Preface: Result: 1. Polymerizat...

Examples of correct use of maps in WeChat mini programs

Table of contents Preface 1. Preparation 2. Actua...

Detailed explanation of three relationship examples of MySQL foreign keys

This article uses examples to describe the three ...

Instructions for nested use of MySQL ifnull

Nested use of MySQL ifnull I searched online to s...