一、简介:
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}