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