定時(shí)任務(wù)

定時(shí)任務(wù)功能的開(kāi)啟:

方法1:

SET GLOBAL event_scheduler = 1;
或者:SET GLOBAL event_scheduler = ON;

注意:這種方法在重啟mysql時(shí)就又會(huì)失效
方法2:

my.ini or my.cnf 中的
[mysqld]
添加 event_scheduler=1
或者 event_scheduler=ON

注意:這種方法在重啟mysql之后也不會(huì)失效,意思是每次開(kāi)啟Mysql服務(wù)器就會(huì)將event_scheduler=ON運(yùn)行一遍

定時(shí)任務(wù)功能的關(guān)閉:

SET GLOBAL event_scheduler = 0;
或者:SET GLOBAL event_scheduler = OFF;
就會(huì)將定時(shí)任務(wù)功能關(guān)閉

理解:關(guān)閉定時(shí)任務(wù)功能后,你之前創(chuàng)建的定時(shí)任務(wù)就不會(huì)再運(yùn)行了

定時(shí)任務(wù)功能的定義:

image.png

一個(gè)示例:

 DROP EVENT  IF EXISTS event_test;
  CREATE  EVENT event_test   
  ON SCHEDULE EVERY 1 day STARTS date_add(concat(current_date(), ' 03:00:00'), interval 0 second)
  ON COMPLETION PRESERVE ENABLE
  DO
  insert into test values(2,20);

解釋:
ON SCHEDULE

  • ON SCHEDULE 計(jì)劃任務(wù),有兩種設(shè)定計(jì)劃任務(wù)的方式:
    1. AT 時(shí)間戳,用來(lái)完成單次的計(jì)劃任務(wù)。
    2. EVERY 時(shí)間(單位)的數(shù)量時(shí)間單位[STARTS 時(shí)間戳] [ENDS時(shí)間戳],用來(lái)完成重復(fù)的計(jì)劃任務(wù)。
  • STARTS date_add(concat(current_date(), ' 00:00:00'), interval 0 second) 指定定時(shí)任務(wù)開(kāi)始的時(shí)間為今天的03:00:00,那么之后應(yīng)該每天凌晨執(zhí)行

  • [ON COMPLETION [NOT] PRESERVE]
    ON COMPLETION參數(shù)表示"當(dāng)這個(gè)事件不會(huì)再發(fā)生的時(shí)候",即當(dāng)單次計(jì)劃任務(wù)執(zhí)行完畢后或當(dāng)重復(fù)性的計(jì)劃任務(wù)執(zhí)行到了ENDS階段。而PRESERVE的作用是使事件在執(zhí)行完畢后不會(huì)被Drop掉,建議使用該參數(shù),以便于查看EVENT具體信息。

  • [ENABLE | DISABLE]
    參數(shù)Enable和Disable表示設(shè)定事件的狀態(tài)。Enable表示系統(tǒng)將執(zhí)行這個(gè)事件。Disable表示系統(tǒng)不執(zhí)行該事件。
    可以用如下命令關(guān)閉或開(kāi)啟事件:
    ALTER EVENT event_name ENABLE/DISABLE

  • [COMMENT 'comment']
    注釋會(huì)出現(xiàn)在元數(shù)據(jù)中,它存儲(chǔ)在information_schema表的COMMENT列,最大長(zhǎng)度為64個(gè)字節(jié)。
    'comment'表示將注釋內(nèi)容放在單引號(hào)之間,建議使用注釋以表達(dá)更全面的信息。

定時(shí)任務(wù)的查看:

SHOW EVENTS;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容