Mysql下自動刪除指定時間以前的記錄的操作方法
關(guān)于Event:mysql5.1版本開始引進event概念。event既“時間觸發(fā)器”,與triggers的事件觸發(fā)不同,event類似與linux crontab計劃任務(wù),用于時間觸發(fā)。通過單獨或調(diào)用存儲過程使用,在某一特定的時間點,觸發(fā)相關(guān)的SQL語句或存儲過程。
首先刪除2天以前記錄的SQL語句(webserver_monitormemory為表名,time為時間字段):
delete From webserver_monitormemory where DATE(time) <= DATE(DATE_SUB(NOW(),INTERVAL 2 day));
創(chuàng)建存儲過程:
DELIMITER // CREATE PROCEDURE autodel() -> BEGIN -> delete From webserver_monitormemory where DATE(time) <= DATE(DATE_SUB(NOW(),INTERVAL 2 day)); -> END -> // DELIMITER ;
創(chuàng)建事件,定制每天執(zhí)行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();
開啟事件計劃(調(diào)度器)4種方法。鍵值1或者ON表示開啟;0或者OFF表示關(guān)閉:
SET GLOBAL event_scheduler = 1; SET @@global.event_scheduler = 1; SET GLOBAL event_scheduler = ON; SET @@global.event_scheduler = ON;
查看當(dāng)前是否已開啟事件計劃(調(diào)度器)3種方法:
SHOW VARIABLES LIKE 'event_scheduler'; SELECT @@event_scheduler; SHOW PROCESSLIST;
事件開啟與關(guān)閉:
ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE ENABLE; //開啟某事件 ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE DISABLE; //關(guān)閉某事件
這個是最簡單但是也是最重要的,我們要手動的啟動這個定時器,要不然是沒法工作的。
ALTER EVENT event_time_clear_data ON COMPLETION PRESERVE ENABLE;
另外,關(guān)閉定時器的代碼是:
ALTER EVENT event_time_clear_data ON COMPLETION PRESERVE DISABLE;
刪除存儲過程:
DROP PROCEDURE pro_clear_data;
刪除Event:
DROP EVENT IF EXISTS event_time_clear_data1
總結(jié)
以上所述是小編給大家介紹的Mysql下自動刪除指定時間以前的記錄的操作方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Mysql根據(jù)時間查詢?nèi)掌诘膬?yōu)化技巧
這篇文章主要介紹了Mysql根據(jù)時間查詢?nèi)掌诘膬?yōu)化技巧,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-03-03MySQL報錯:Starting MySQL ERROR! Couldn‘t f
本文主要介紹了MySQL報錯:Starting MySQL ERROR! Couldn‘t find MySQL server (/usr/local/mysql/bin/mysqld_safe)2024-03-03解析SQL 表結(jié)構(gòu)信息查詢 含主外鍵、自增長
本篇文章是對SQL 表結(jié)構(gòu)信息查詢 含主外鍵、自增長進行了詳細的分析介紹,需要的朋友參考下2013-06-06圖文詳解Mysql使用left?join寫查詢語句執(zhí)行很慢問題的解決
最近工作中遇到一個非常奇怪的問題,mysql中有兩張表,test_info和test_do_info需要進行LEFT?JOIN關(guān)聯(lián)查詢,下面這篇文章主要給大家介紹了關(guān)于Mysql使用left?join寫查詢語句執(zhí)行很慢問題的解決方法2023-04-04Windows下mysql-5.7.28下載、安裝、配置教程圖文詳解
這篇文章主要介紹了Windows下mysql-5.7.28下載、安裝、配置教程,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12