mysql定時器定時清理表資料

2021-09-21 14:21:39 字數 1178 閱讀 8195

1.首先先檢視mysql是否開啟定時任務開關

2.value為on則已開啟,off則關閉

如果是off,就先開啟:

#  set global event_scheduler = on;

3.然後建立我們想要的定時器

delimiter $$  

drop event if exists deletelog;  

create event  deletelog  

on schedule every 300 second  

on completion preserve  

do begin  

delete from ts_gc_login_log where to_days(now())-to_days(login_tm)>2;  

end$$  

delimiter ; 

該指令碼的意思是:每300秒執行一次計畫,執行的動作為刪除兩天前的資料

create procedure `prc_del_um_time_stat`(in date_inter int) comment '自動刪除日誌'

begin

delete from um_time_stat where (to_days(now()) - to_days(create_time))>=date_inter;

end;

create event `auto_delete_um_time_stat` on schedule every 1 day starts '2019-05-08 00:00:00'

on completion preserve enable comment '自動刪除30天以前的日誌統計資料' do call prc_del_um_time_stat(30);

該指令碼的意思是:每天凌晨執行一次計畫,執行的動作為刪除30天前的資料

4.建立完成後,檢視定時器(需要root使用者)

Mysql定時器定時刪除表資料

由於測試環境有張日誌表沒定時2分鐘程式就 資料,導致不到1乙個月時間,這張日誌表就占用了6.7g的空間,但是日誌重新整理較快,有些日誌就沒什麼作用,就寫了個定時器,定期刪除這張表的資料 首先先檢視mysql是否開啟定時任務開關 value為on則已開啟,off則關閉 如果是off,就先開啟 set ...

mysql 定時器概念 MySQL定時器

mysql定時器 建立測試表 create table t v varchar 100 not null engine innodb default charset utf8 建立定時器 呼叫的儲存過程 delimiter drop procedure if exists e test create...

mysql 定時器概念 Mysql 定時器

定時任務 週期任務 檢視命令 show variables like event sche 顯示的event scheduler為off時用以下命令開啟 set global event scheduler 1 注意 以上的改法在資料庫重啟後將會恢復為原來狀態,要想資料庫重啟後也可以讓event s...