mysql设置定时任务

1.首先检查是否开启了定时任务

查看event是否开启 : SHOW VARIABLES LIKE '%event_sche%';
将事件计划开启 : SET GLOBAL event_scheduler = 1;
将事件计划关闭 : SET GLOBAL event_scheduler = 0;
关闭事件任务 : ALTER EVENT eventName ON COMPLETION PRESERVE DISABLE;
开启事件任务 : ALTER EVENT eventName ON COMPLETION PRESERVE ENABLE;
查看事件任务 : SHOW EVENTS ;

2.创建一个存储过程

DROP PROCEDURE IF EXISTS p_test;
CREATE PROCEDURE p_test()
BEGIN
INSERT INTO test(create_by, create_name) values('admin', 'admin');
END

3.设置定时任务调用这个存储过程(从2018-12-26 15:57:00点每十秒执行一次)

DROP EVENT IF EXISTS e_test;
CREATE EVENT e_test
ON SCHEDULE EVERY 10 second STARTS TIMESTAMP '2018-12-26 15:57:00'
ON COMPLETION PRESERVE
DO
CALL p_test();

4.常见周期定时规则

  • 周期执行–关键字 EVERY

    单位有:second,minute,hour,day,week(周),quarter(季度),month,year               

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天

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值