mysql创建定时任务执行存储过程

存储过程已添加好:https://blog.csdn.net/YXWik/article/details/127283316
mysql创建定时任务执行存储过程_第1张图片
1.创建定时器用来执行存储过程函数

create event delete_data
on schedule every 10 second
do call delete_data();

这里的第一行代表的创建名称为delete_data的事件
第二行是执行周期为每10秒执行一次
第三行是该事件的操作内容,执行我们的存储函数
这里默认是创建好后立即执行
如果想要创建后并不开始生效可以增加 on completion preserve disable

2.查看定时任务事件

SELECT event_name,event_definition,interval_value,interval_field,status FROM information_schema.EVENTS;

mysql创建定时任务执行存储过程_第2张图片

show variables like '%sche%' ;

mysql创建定时任务执行存储过程_第3张图片

如果Value值为OFF,则需要开启。需要超级权限

set global event_scheduler=1 ;

3.删除定时任务

drop event delete_data;

4.定时任务的开启关闭

alter event delete_data on completion preserve enable; //开启定时任务
alter event delete_data on completion preserve disable;//关闭定时任务

5.定时周期
上面用到的是每10秒执行一次
on schedule every 10 second
还有其他执行–关键字

on schedule every 1 second //每秒执行1次
on schedule every 1 minute //每一分钟执行1次
on schedule every 1 day //每一天执行1次
on schedule at current_timestamp()+interval 1 day //1天后执行
on schedule at current_timestamp()+interval 10 minute //10分钟后执行
on schedule at '2022-10-01 20:00:00' //在2022年10月1日,晚上20点执行
on schedule every 1 day starts current_timestamp()+interval 1 day ends current_timestamp()+interval 1 month 
//1天后开始每天都执行执行到下个月底

on schedule every 1 day ends current_timestamp()+interval 5 day 
//从现在起每天执行,执行5天

ON SCHEDULE EVERY 1 DAY STARTS '2022-10-12 00:00:00'
// 从2022年10月12号0点执行,每天执行

6.常用的语法关键字:
NOT PRESERVE 任务完成后清除定时器, (默认)
PRESERVE 任务完成后不清除定时器
EVERY 周期执行
STARTS ENDS 在某个时间段执行
AY 某个时间点执行
ENDS 结束定时器时间
INTERVAL 间隔(时间)

7.定时器语法结构:

CREATE EVENT 定时器名称
    ON  SCHEDULE  xx     -- 定时器从什么开始执行的 (必须)
	ENDS CURRENT_TIMESTAMP  xx    -- 定时器开始后在什么时候结束 (非必选)
    ON COMPLETION xx       -- 定时器清除策略 (默认就行)
DO  sql语句   -- 定时器执行的内容,只允许一条sql语句以分号结束 (必须)

你可能感兴趣的:(Mysql,mysql)