首先刪除2天以前記錄的sql語句(webserver_monitormemory為表名,time為時間字段):
delete from webserver_monitormemory where date(time) <= date(date_sub(now(),interval 2 day));
建立儲存過程:
delimiter //
create procedure autodel()
-> begin
-> delete from webserver_monitormemory where date(time) <= date(date_sub(now(),interval 2 day));
-> end
-> //
delimiter ;
建立事件,定製每天執行autodel的儲存過程:
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();
開啟事件計畫(排程器)4種方法。鍵值1或者on表示開啟;0或者off表示關閉:
set global event_scheduler = 1;
set @@global.event_scheduler = 1;
set global event_scheduler = on;
set @@global.event_scheduler = on;
檢視當前是否已開啟事件計畫(排程器)3種方法:
show variables like 'event_scheduler';
select @@event_scheduler;
show processlist;
事件開啟與關閉:
alter event event_auto_del_memorydata on completion preserve enable; //開啟某事件
alter event event_auto_del_memorydata on completion preserve disable; //關閉某事件
MySQL自動刪除指定時間以前的記錄
總體思路 建立儲存過程 create procedure prc del user in daycount int comment 自動刪除過期記錄 begin delete from user where to days now to days createtime daycount end 建立...
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...