Mysql定時器定時刪除表資料
阿新 • • 發佈:2019-01-26
由於測試環境有張日誌表沒定時2分鐘程式就狂插資料,導致不到1一個月時間,這張日誌表就佔用了6.7G的空間,但是日誌重新整理較快,有些日誌就沒什麼作用,就寫了個定時器,定期刪除這張表的資料
首先先檢視mysql是否開啟定時任務開關
# SHOW VARIABLES LIKE 'event_scheduler';
Value為ON則已開啟,OFF則關閉
如果是OFF,就先開啟:
# SET GLOBAL event_scheduler = ON;
然後建立我們想要的定時器
DELIMITER $$ DROP EVENT IF EXISTS deleteLog; CREATE EVENT deleteLog ON SCHEDULE EVERY 300 SECOND ON COMPLETION PRESERVE DO BEGIN delete from ftp_log where TO_DAYS(now())-TO_DAYS(createOn)>2; END$$ DELIMITER ;
該指令碼的意思是:每300秒執行一次計劃,執行的動作為刪除兩天前的資料
建立完成後,檢視定時器
# select * from mysql.event;