本文實例講述了mysql實現(xiàn)設(shè)置定時任務(wù)的方法。分享給大家供大家參考,具體如下:
今天遇到了個需要每天定時執(zhí)行的任務(wù),在mysql數(shù)據(jù)庫里面提供了這樣的功能,正好整理下分享出來。
1.首先檢查是否開啟了定時任務(wù)
查看event是否開啟 :
SHOW VARIABLES LIKE '%event_sche%';
將事件計劃開啟 :
SET GLOBAL event_scheduler = 1;
將事件計劃關(guān)閉 :
SET GLOBAL event_scheduler = 0;
關(guān)閉事件任務(wù) :
ALTER EVENT eventName ON COMPLETION PRESERVE DISABLE;
開啟事件任務(wù) :
ALTER EVENT eventName ON COMPLETION PRESERVE ENABLE;
查看事件任務(wù) :
2.創(chuàng)建一個存儲過程
DELIMITER //
DROP PROCEDURE IF EXISTS p_test//
CREATE PROCEDURE p_test()
BEGIN
INSERT INTO test(name, create_time) values('testName', now());
END//
3.設(shè)置定時任務(wù)調(diào)用這個存儲過程(從2015.8.8 1點每十秒執(zhí)行一次)
DROP EVENT IF EXISTS e_test//
CREATE EVENT e_test
ON SCHEDULE EVERY 10 second STARTS TIMESTAMP '2015-08-08 01:00:00'
ON COMPLETION PRESERVE
DO
BEGIN
CALL p_test();
END//
備注:在event事件中:ON SCHEDULE 計劃任務(wù),有兩種設(shè)定計劃任務(wù)的方式:
1. AT 時間戳,用來完成單次的計劃任務(wù)。
2. EVERY 時間(單位)的數(shù)量時間單位[STARTS 時間戳] [ENDS時間戳],用來完成重復的計劃任務(wù)。
在兩種計劃任務(wù)中,時間戳可以是任意的TIMESTAMP 和DATETIME 數(shù)據(jù)類型,時間戳需要大于當前時間。
在重復的計劃任務(wù)中,時間(單位)的數(shù)量可以是任意非空(Not Null)的整數(shù)式,時間單位是關(guān)鍵詞:YEAR,MONTH,DAY,HOUR,MINUTE 或者SECOND。
提示: 其他的時間單位也是合法的如:QUARTER, WEEK, YEAR_MONTH,DAY_HOUR,DAY_MINUTE,DAY_SECOND,HOUR_MINUTE,HOUR_SECOND, MINUTE_SECOND,不建議使用這些不標準的時間單位。
[ON COMPLETION [NOT] PRESERVE]
ON COMPLETION參數(shù)表示"當這個事件不會再發(fā)生的時候",即當單次計劃任務(wù)執(zhí)行完畢后或當重復性的計劃任務(wù)執(zhí)行到了ENDS階段。而PRESERVE的作用是使事件在執(zhí)行完畢后不會被Drop掉,建議使用該參數(shù),以便于查看EVENT具體信息。
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。
您可能感興趣的文章:- 詳解MySQL用事件調(diào)度器Event Scheduler創(chuàng)建定時任務(wù)
- mysql的定時任務(wù)實例教程
- Linux下如何實現(xiàn)Mysql定時任務(wù)
- Linux下Mysql定時任務(wù)備份數(shù)據(jù)的實現(xiàn)方法
- mysql定時任務(wù)(event事件)實現(xiàn)詳解
- MySQL定時執(zhí)行腳本(計劃任務(wù))命令實例
- 逐步講解MySQL中定時事件計劃的創(chuàng)建
- MySQL定時器開啟、調(diào)用實現(xiàn)代碼
- mysql自動定時備份數(shù)據(jù)庫的最佳方法(windows服務(wù)器)
- mysql 讓一個存儲過程定時作業(yè)的代碼
- mysql 定時任務(wù)的實現(xiàn)與使用方法示例