mysql定时删除表_mysql事件定时删除表数据

遇到一个需求是每隔一天,清空一次某个缓存表的数据。想到了mysql的事件定时,记录一下操作过程

开启事件配置:

#重启服务后失效

SET GLOBAL event_scheduler = 1;

或 mysql配置文件my.ini/my.cnf 在 [mysqld] 块中添加:event_scheduler=ON (推荐)

重启mysql服务。

查看是否开启事件:

show variables like 'event_scheduler';

9f16d42758b8948f16533cfe458b3071.png

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;

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值