-- 查看定时器状态 默认是 off
show variables like '%event_sche%'
-- 设置打开
set global event_scheduler=1;
-- 创建存储过程
use testData(数据库名称);
#存储过程名称:delete_logmq
create procedure delete_logmq()
begin
delete from log_mq where createdate < (now() - interval 7 day);
delete from log_mq_rent where createdate < (now() - interval 7 day);
delete from log_mq_exchange where createdate < (now() - interval 7 day);
end
-- 删除存储过程
-- drop procedure delete_logmq;
-- 创建定时任务
#定时任务名称:delete_logmq_event
create event delete_logmq_event
-- 执行时间设置
on schedule every 1 day
-- 是表示创建后并不开始生效。
on completion preserve disable
-- 是该event(事件)的操作内容,表示调用我们刚刚创建的delete_logmq()存储过程。
do call delete_logmq();
-- 周期执行–关键字 EVERY
- on schedule every 1 second //每秒执行1次
- on schedule every 2 minute //每两分钟执行1次
- on schedule every 3 day //每3天执行1次 -- 在具体某个时间执行–关键字 AT
- on schedule at current_timestamp()+interval 5 day //5天后执行
- on schedule at current_timestamp()+interval 10 minute //10分钟后执行
- on schedule at '2016-10-01 21:50:00' //在2016年10月1日,晚上9点50执行
-- 在某个时间段执行–关键字STARTS ENDS
on schedule every 1 day starts current_timestamp()+interval 5 day ends current_timestamp()+interval 1 month
-- 5天后开始每天都执行执行到下个月底
on schedule every 1 day ends current_timestamp()+interval 5 day //从现在起每天执行,执行5天
-- 删除任务
drop event delete_logmq_event;
-- 查看定时任务event(事件),可以查看本机所有的事件
SELECT event_name,event_definition,interval_value,interval_field,status FROM information_schema.EVENTS;
-- 开启已经创建好的event(事件)
-- 开启定时任务
alter event delete_logmq_event on completion preserve enable;
-- 关闭定时任务
alter event delete_logmq_event on completion preserve disable;