Mysql定时任务详情


Mysql定时任务

1.查看是否开启事件调度器:

SHOW VARIABLES LIKE 'event_scheduler';   #没有开启则无法启用定时器(0代表:off,1代表:on)
#若未开启则执行
SET GLOBAL event_scheduler = ON;  #开启定时器

2.创建EVENT事件语法:

#例.每隔10秒执行一次

CREATE EVENT 定时器名称       #event事件名
ON SCHEDULE EVERY 10 SECODE    #每隔10秒调度一次(事件可以自行设置[例:MONTH,DAY,SECODE,......]ON COMPLETION PRESERVE      #当本次event到期了,event会被disable,但是该event还是会存在
ENABLE                #开启event调度
DO
CALL 存储过程名();          #调度要定时执行的操作(调度任务调用上述创建的存储过程周期执行任务)


#例.每月的1月1日12时执行
CREATE EVENT 定时器名称    ON SCHEDULE EVERY 1 MONTH STARTS DATE_ADD(DATE_ADD(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY), INTERVAL 1 MONTH),INTERVAL 12 HOUR)  #设置开始时间,间隔时间执行 ON COMPLETION PRESERVE    ENABLE DO CALL 存储过程名();

注:存储过程可以参考本人上一篇https://www.cnblogs.com/Moming0/p/11428960.html

3.开启/关闭定时事件

#开启定时事件
ALTER EVENT 定时器事件名 ON
COMPLETION PRESERVE ENABLE;

#关闭定时事件
ALTER EVENT 定时器事件名 ON
COMPLETION PRESERVE DISABLE;

4.删除定时事件

DROP EVENT 定时事件名;

注:通过Navicat工具直接创建请参考本文https://blog.csdn.net/tantexian/article/details/50317829


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM