mysql事件定时删除表数据 |
您所在的位置:网站首页 › mysql新建事件 › mysql事件定时删除表数据 |
遇到一个需求是每隔一天,清空一次某个缓存表的数据。想到了mysql的事件定时,记录一下操作过程 开启事件配置: #重启服务后失效 SET GLOBAL event_scheduler = 1;或 mysql配置文件my.ini/my.cnf 在 [mysqld] 块中添加:event_scheduler=ON (推荐) 重启mysql服务。 查看是否开启事件: show variables like 'event_scheduler';on说明已开启 创建存储过程 #创建存储过程 DELIMITER | DROP PROCEDURE IF EXISTS clear_table_t1 | CREATE PROCEDURE clear_table_t1() BEGIN DELETE FROM `t1`; #这里可以根据自己的业务填充相对应的逻辑 END |创建定时任务 CREATE EVENT IF NOT EXISTS time_clear_table_t1 ON SCHEDULE EVERY 86400 SECOND ON COMPLETION PRESERVE DO CALL clear_table_t1();开启定时任务 #开启定时器 ALTER EVENT time_clear_table_t1 ON COMPLETION PRESERVE ENABLE;至此,创建了一个每天清空一次 t1 表的事件定时计划任务 删除刚才创建的存储过程: #删除存储过程 DROP PROCEDURE clear_table_t1;关闭刚才开启的定时器: #关闭定时器 ALTER EVENT time_clear_table_t1 ON COMPLETION PRESERVE DISABLE;
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |