MySQL定時任務的開啟

來源:互聯網
上載者:User

自MySQL5.1.0起,增加了一個非常有特色的功能–事件調度器(Event Scheduler),可以用做定時執行某些特定任務(例如:刪除記錄、對資料進行匯總等等),來取代原先只能由作業系統的計劃任務來執行的工作。更值得一提的是MySQL的事件調度器可以精確到每秒鐘執行一個任務,而作業系統的計劃任務(如:Linux下的CRON或Windows下的任務計劃)只能精確到每分鐘執行一次。對於一些對資料即時性要求比較高的應用(例如:股票、賠率、比分等)就非常適合。

事件調度器有時也可稱為臨時觸發器(temporal triggers),因為事件調度器是基於特定時間周期觸發來執行某些任務,而觸發器(Triggers)是基於某個表所產生的事件觸發的

查看event是否開啟:

SHOW VARIABLES LIKE ‘event%’;
SELECT @@event_scheduler;
SHOW PROCESSLIST;

如果看到event_scheduler為on或者PROCESSLIST中顯示有event_scheduler的資訊說明就已經開啟了事件。如果顯示為off或者在PROCESSLIST中查看不到event_scheduler的資訊,那麼就說明事件沒有開啟,我們需要開啟它。

臨時開啟(mysql服務重啟後之後失效)

set global event_scheduler =1;//0代表關閉

永久開啟:

在my.cnf中的[mysqld]部分添加如下內容,然後重啟mysql(mysql重啟命令:service mysqld restart)

event_scheduler=ON

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.