首页 > 代码库 > MySQL定时任务

MySQL定时任务

原文:MySQL定时任务

一、简介:

Mysql属于中小型数据库系统,它的事件调度器Event Scheduler是在mysql 5.1才开始引入事件调度器是在 MySQL 5.1 中新增的另一个特色功能,可以作为定时任务调度器,取代部分原先只能用操作系统任务调度器才能完成的定时功能。事件调度器是定时触发执行的,在这个角度上也可以称作是"临时的触发器"。触发器只是针对某个表产生的事件执行一些语句,而事件调度器则是在某一个(间隔)时间执行一些语句。事件是由一个特定的线程来管理的,也就是所谓的"事件调度器"。笔者使用的 mysql 的版本是mysql 5.6.22。

二、开启定时任务:

1、通过 show variables like ‘event_scheduler‘ 命令,可以查看 event是否开启,或者 SELECT @@event_scheduler  

      如果未开启,可以通过命令开启:     set global event_scheduler =1;

2、语法:

   CREATE EVENT [IF NOT EXISTS] event_name

    ON SCHEDULE schedule

    ON COMPLETION [NOT] PRESERVE]

   [ENABLE | DISABLE] [COMMENT ‘comment‘]  DO sql_statement / CALL PROCEDURE;

schedule:
   AT TIMESTAMP [+ INTERVAL INTERVAL]
   | EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]
  
  INTERVAL:
   quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
   WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
   DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}

 

MySQL定时任务