码迷,mamicode.com
首页 > 数据库 > 详细

Mysql定时任务详情

时间:2019-08-29 15:35:28      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:操作   lte   day   设置   cal   event   调度   间隔   variables   

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

Mysql定时任务详情

标签:操作   lte   day   设置   cal   event   调度   间隔   variables   

原文地址:https://www.cnblogs.com/Moming0/p/11429833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!