MySQL创建定时任务(或计划任务)

MySQL 从 5.1.6 版本起,增加了一个时间调度器(Event Scheduler),可以做定时操作,精确到秒来执行。

首先查看定时任务是否开启,命令

SHOW VARIABLES LIKE 'event_scheduler';

若没有开启,则使用如下命令开启定时器

SET GLOBAL event_scheduler = 1

或者

SET GLOBAL event_scheduler = ON

创建定时任务
例子如下: 每隔10秒更新一次表中指定项的内容。

CREATE EVENT export_tag_result 
    ON SCHEDULE EVERY 10 SECOND 
    DO
    UPDATE news_sign.news_tagging_app_unrevised SET IsRevised = IsRevised + 1 WHERE ID = '22';

语法总结

CREATE EVENT 事件名称
    ON SCHEDULE EVERY 间隔时间
    DO
    具体执行的SQL任务

修改定时任务
上面的一个定时任务是创建好了,可是在运行的过程中,我们免不了会对其进行修改,那么如何进行修改呢?语法如下

ALTER EVENT 事件名称
    ON SCHEDULE EVERY 间隔时间
    DO
    具体执行的SQL任务

关闭(开启)定时任务
(1) 关闭指定事件的定时任务

ALTER EVENT 事件名称 ON COMPLETION PRESERVE DISABLE;

相对应的开启指定事件的定时任务

ALTER EVENT 事件名称 ON COMPLETION PRESERVE ENABLE;

(2) 关闭定时器

SET GLOBAL event_scheduler = 0

或者

SET GLOBAL event_scheduler = OFF

查看事件
上面的操作都涉及到了事件的名称,可是我们往往在程序运行了一会儿之后就会忘记当初自己对事件的具体命名情况,那么如何查看事件的名称呢?我们可以通过如下命令来看事件。

SHOW EVENTS;

或者

SELECT * FROM MYSQL.EVENT;


该文章于2017年9月28日于CSDN上首次发表,2017年12月24日搬家至此!

    原文作者:高正杰
    原文地址: https://www.jianshu.com/p/a9bc0ef89c98
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞