1. 連接登錄MySQL后,先查看MySQL是否開啟了事件功能:
命令:show variables like '%sc%';
發現event_sheduler是OFF關閉的;
2. 打開event_scheuler:
臨時開啟(mysql服務重啟后之后失效)
SET GLOBAL event_scheduler = ON; SET GLOBAL event_scheduler = 1; ― 0代表關閉
永久開啟
在my.cnf中的[mysqld]部分添加如下內容,然后重啟mysql(mysql重啟命令:service mysqld restart)
event_scheduler=ON
3. 創建事件,這里舉例每5秒鐘定時刪除wififlows表中過期2分鐘的數據:
create event e_delete_wififlows on schedule every 5 second do delete from wififlows where timestamp < (CURRENT_TIMESTAMP() + INTERVAL -2 MINUTE);
如果事先存在這個事件可以使用如下命令進行刪除:
drop event if exists e_delete_wififlows;
然后使用show events;查看存在的事件
4. 開啟事件:
alter event e_del_wififlows on completion preserve enable;
5. 關閉事件:
alter event e_del_wififlowa on completion preserve disable;
以上這篇mysql定時刪除過期數據記錄的簡單方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答