MySQL自動刪除指定時間以前的記錄

2021-09-22 18:26:47 字數 1266 閱讀 4330

總體思路:

建立儲存過程

create procedure `prc_del_user`(in daycount int

) comment '自動刪除過期記錄'

begin

delete from user where (

to_days

(now()

)-to_days

(createtime)

)>=daycount;

end;

建立事件

create  event `auto_delete_user` on schedule every 1 day starts '2019-05-15 00:00:00' 

on completion preserve enable comment '自動刪除30天以前的日誌資料' do call prc_del_user(30

);// 30表示刪除30天前的資料 createtime表示 user 表的createtime時間字段

開啟事件的四種方法

//1.

set global event_scheduler =1;

//2.

set @@global

.event_scheduler =1;

//3.

set global event_scheduler = on;

//4.

set @@global

.event_scheduler = on;

檢視當前事件是否已開啟

//1.

show variables like 'event_scheduler'

;//2.

select @@event_scheduler

;//3.

show processlist;​

事件開啟與關閉

alter event auto_delete_user on completion preserve enable;

//開啟某事件

alter event auto_delete_user on completion preserve disable;

//關閉某事件

MySQL自動刪除指定時間以前的記錄

首先刪除2天以前記錄的sql語句 webserver monitormemory為表名,time為時間字段 delete from webserver monitormemory where date time date date sub now interval 2 day 建立儲存過程 deli...

mysql 指定時間 MySQL查詢指定時間的資料

mysql查詢指定時間的資料 user event 使用者事件表 create time 表中儲存時間的字段 獲取當月資料 select from user event where date format create time,y m date format now y m 獲取3月份資料 sel...

Shell定時刪除指定時間之前的檔案

最近世界盃來了,一直忙於工作和世界盃之間,都沒有空來管管我的blog了,今天只能整個簡單的tmekl小shell給大家了.公司要求刪除乙個月之前的備份檔案,免得把硬碟給整爆了,上伺服器看了下,居然都有3個月的備份沒有清理了,還好是sql備份,不然硬碟空間早就滿了.下面是我的解決辦法 複製 如下 ca...