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)
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定時刪除過期數據記錄的簡單方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- MySQL 快速刪除大量數據(千萬級別)的幾種實踐方案詳解
- MySQL 處理重復數據的方法(防止、刪除)
- MySQL對數據庫操作(創建、選擇、刪除)
- MySQL使用mysqldump+binlog完整恢復被刪除的數據庫原理解析
- mysql數據庫常見基本操作實例分析【創建、查看、修改及刪除數據庫】
- Linux實現定時備份MySQL數據庫并刪除30天前的備份文件
- linux定時備份MySQL數據庫并刪除以前的備份文件(推薦)
- MySQL數據誤刪除的快速解決方法(MySQL閃回工具)
- Mysql的Binlog數據恢復:不小心刪除數據庫詳解
- MySQL實現快速刪除所有表而不刪除數據庫的方法
- MySQL刪除數據庫的兩種方法
- MySQL刪除數據,表文件大小依然沒變的原因