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...