MySQL5.1新增EventScheduler功能【实现定时性的作业】_MySQL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL5.1新增EventScheduler功能【实现定时性的作业】_MySQL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2714字,纯文字阅读大概需要4分钟。
内容图文
![MySQL5.1新增EventScheduler功能【实现定时性的作业】_MySQL](/upload/InfoBanner/zyjiaocheng/577/362881db9e9946a6ba43d1c5daced54a.jpg)
一、开启
MySQL的Event Scheduler是根据预先安排的计划进行数据库操作的数据库对象,可以看作是一种“时间触发器”。Event实际上是被一个特殊的event scheduler线程执行的,假如它正在运行的话,可以通过SHOW PROCESSLIST命令看到它。全局变量event_scheduler用来设定是否服务器端运行执行计划任务,该变量有如下三种值:
OFF:计划任务处于停止状态,event scheduler线程没有运行。是event_scheduler的默认值;
ON:计划任务处于运行状态,event scheduler线程启动,并执行所有的计划任务;
DISABLED:该值将致使计划任务不可运行
SET GLOBAL event_scheduler = ON;SET @@global.event_scheduler = ON;SET GLOBAL event_scheduler = 1;SET @@global.event_scheduler = 1;创建Event Scheduler作为一种数据库对象,其增删改的DDL语句与其他对象非常相似,无非CREATE、ALTER、DROP等,创建的基本语法是:
CREATE EVENT (1)[IF NOT EXISTS] (2)event_name (3)ON SCHEDULE schedule (4)[ON COMPLETION [NOT] PRESERVE] (5)[ENABLE | DISABLE] (6)[COMMENT 'comment'] (7)DO sql_statement (8)(1) 创建Event嘛,这俩关键字当然不能少了;
(2) 如果不存在同名的数据库对象才创建;
(3) 计划任务的名字。作为数据库对象,都有一个本库内唯一的名字做标识
(4) 计划任务的计划,重点就在这儿。有两个关键字来设定任务的执行计划:AT和EVERY:
AT指定的是一个一次性计划,后面跟着一个时间戳,后续的sql语句将在指定的时间被执行一次;
EVERY指定的是一个周期性计划,在该子句中可以指定从某时间点到某时间点期间,每隔某周期就执行一次该任务。
(5) 任务整个执行完毕后,该计划任务对象是否还在数据库中保留。默认不保留
(6) 有效或失效。默认有效
(7) 真正要执行的语句实例,首先是一个一次性计划任务的例子,该任务在指定的2008-02-06 23:59:00这个时间点,向messages表中插入一条记录:
CREATE EVENT e_totalsON SCHEDULE AT '2006-02-10 23:59:00'DOINSERT INTO messages VALUES (null, 'admin', '过年了!', '祝大家鼠年发大财!!!', '127.0.0.1',NOW());下面是一个周期性计划任务的例子,该任务在2008-02-06 23:59:00开始的一年内,每隔1小时就删除掉messages表的早先的10条记录:
CREATE EVENT e_hourlyON SCHEDULEEVERY 1 HOUR STARTS '2007-02-10 23:59:00' ENDS '2008-02-10 23:59:00'DODELETE FROM messages limit 10;
计划任务属于数据库服务器端的对象,创建好后,只要开启了event_scheduler,就可以自动触发执行了,不用在前台进行任何干预。当然一定要记住,只有MySQL5.1以上版本才支持该对象。
bitsCN.com
内容总结
以上是互联网集市为您收集整理的MySQL5.1新增EventScheduler功能【实现定时性的作业】_MySQL全部内容,希望文章能够帮你解决MySQL5.1新增EventScheduler功能【实现定时性的作业】_MySQL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。