1.事件简介

事件(event)是MySQL在相应的时刻调用的过程式数据库对象。一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”。

事件和触发器类似,都是在某些事情发生的时候启动。当数据库上启动一条语句的时候,触发器就启动了,而事件是根据调度事件来启动的。由于他们彼此相似,所以事件也称为临时性触发器。

事件取代了原先只能由操作系统的计划任务来执行的工作,而且MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精确到每分钟执行一次。

2 事件的优缺点
    2.1 优点

一些对数据定时性操作不再依赖外部程序,而直接使用数据库本身提供的功能。

可以实现每秒钟执行一个任务,这在一些对实时性要求较高的环境下就非常实用了。

   2.2 缺点
    定时触发,不可以调用。

3 创建事件

一条create
event语句创建一个事件。每个事件由两个主要部分组成,第一部分是事件调度(event
schedule),表示事件何时启动以及按什么频率启动,第二部分是事件动作(event action
),这是事件启动时执行的代码,事件的动作包含一条SQL语句,它可能是一个简单地insert或者update语句,也可以使一个存储过程或者
benin...end语句块,这两种情况允许我们执行多条SQL。

一个事件可以是活动(打开)的或停止(关闭)的,活动意味着事件调度器检查事件动作是否必须调用,停止意味着事件的声明存储在目录中,但调度器不会检查它是否应该调用。在一个事件创建之后,它立即变为活动的,一个活动的事件可以执行一次或者多次。

3.1 创建语法如下

名词解释:

event_name :创建的event名字(唯一确定的)。
    ON SCHEDULE:计划任务。
    schedule: 决定event的执行时间和频率(注意时间一定要是将来的时间,过去的时间会出错),有两种形式 AT和EVERY。
    [ON COMPLETION [NOT] PRESERVE]: 可选项,默认是ON COMPLETION NOT PRESERVE 即计划任务执行完毕后自动drop该事件;ON COMPLETION  PRESERVE则不会drop掉。
    [COMMENT 'comment'] :可选项,comment 用来描述event;相当注释,最大长度64个字节。
    [ENABLE | DISABLE] :设定event的状态,默认ENABLE:表示系统尝试执行这个事件, DISABLE:关闭该事情,可以用alter修改
    DO event_body: 需要执行的sql语句(可以是复合语句)。CREATE EVENT在存储过程中使用时合法的。

    3.2 开启关闭事件调度器

3.2.1 MySQL事件调度器event_scheduler负责调用事件,它默认是关闭的。这个调度器不断地监视一个事件是否要调用, 要创建事件,必须打开调度器。

    3.2.2 开启事件调度器

通过命令行

可通过如下任何一个命令行

通过配置文件my.cnf

event_scheduler = 1 #或者ON

查看调度器线程

3.2.3 关闭事件调度器

通过命令行

可通过如下任何一个命令行

通过配置文件my.cnf

在[mysqld]下增加

event_scheduler = 0 #或者OFF,DISABLED

查看调度器线程

mysql> show processlist;
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+-------+------------------+
| 2 | root | localhost | NULL | Query | 0 | NULL | show processlist |
+----+------+-----------+------+---------+------+-------+------------------+

3.3 例如:创建一个表记录每次事件调度的名字和事件戳

3.3.1 创建测试表

3.3.2 创建事件1(立即启动事件)

查看事件执行结果

3.3.3 创建事件2(每分钟启动事件)

查看事件执行结果

3.4 注意:

默认创建事件存储在当前库中,也可显示指定事件创建在哪个库中

通过show events只能查看当前库中创建的事件

事件执行完即释放,如立即执行事件,执行完后,事件便自动删除,多次调用事件或等待执行事件可以查看到。

如果两个事件需要在同一时刻调用,mysql会确定调用他们的顺序,如果要指定顺序,需要确保一个事件至少在另一个事件1秒后执行

对于递归调度的事件,结束日期不能在开始日期之前。

select可以包含在一个事件中,然而他的结果消失了,就好像没执行过。

4 查看事件

查看当前所在库的事件

mysql> show events;

查看所有事件

mysql> select * from mysql.event;

5 修改事件

一条alter event语句可以修改事件的定义和属性。我们可以让一个事件成为停止的或者再次让它活动,也可以修改一个事件的名字或者整个调度。然而当一个使用 ON COMPLETION NOT PRESERVE 属性定义的事件最后一次执行后,事件直接就不存在了,不能修改。

    5.1 语法如下:

    5.2 例如

修改上面例子3.3.3 每分钟启动事件为每30秒启动

修改上面例子3.3.3 事件名字为event_second

alter event test.event_minute
rename to test.event_second;

修改上面例子3.3.3 事件为不活动和再次活动

    alter event test.event_second disable;
alter event test.event_second enable;

6.删除事件

如果一个事件不再需要,我们可以使用一条drop event 语句删除它。使用这条语句我们不需要等到最后一次事件调用。

6.1 基本语法

DROP EVENT [IF EXISTS] event_name

6.2 例如

drop event if exists event_second;

//一个周期性根据时间修改状态的例子:

1.创建的存储过程

/*!50003 DROP PROCEDURE IF EXISTS  `updateStatus` */;

DELIMITER $$

/*!50003 CREATE DEFINER=`root`@`localhost` PROCEDURE `updateStatus`()
BEGIN
UPDATE exam SET `status`="已结束" where `status` != "已结束" AND (NOW() - endTime)>0 ;
UPDATE exam SET `status`="正在答题" where `status` != "已结束" AND ( NOW() - startTime)>=0
AND (NOW() - endTime)<0; UPDATE haulinfo SET bigStatus="已结束" where bigStatus != "已结束" AND (CURDATE() - bigEndDate)>0;
UPDATE haulinfo SET bigStatus="进行中" where bigStatus != "已结束" AND (CURDATE() - bigEndDate)<0
AND (CURDATE() - bigBeginDate)>=0 ;
UPDATE project set `status` = "完工" WHERE `status` != "完工" AND (CURDATE() - endDate)>0;
UPDATE project set `status` = "进行中" WHERE `status` != "完工" AND (CURDATE() - endDate)<0
AND (CURDATE() - startDate)>=0 ;
END */$$
DELIMITER ;

 2.创建任务调度的事件(调用存储过程)

DELIMITER $$

/*!50106 CREATE DEFINER=`root`@`localhost` EVENT `eventUpdateStatus` ON SCHEDULE EVERY 1 SECOND STARTS '2017-11-21 00:12:44' ON COMPLETION PRESERVE ENABLE DO call updateStatus() */$$
DELIMITER ;

/* ....  */ 在大部分语言中都一样是注释。这个之中的语句是不被执行的。

但MYSQL中 为了保持兼容,比如从mysqldump 导出的SQL语句能被其它数据库直接使用,它把一些特有的仅在MYSQL上的语句放在 /*! ... */ 中,这样这些语句如果在其它数据库中是不会被执行,但在MYSQL中它会执行。

例如:一个定时(每分钟)调用一个存储过程,存储过程根据进入黑名单时间推后一年删除记录,也就是从进入表开始计算一年后删除表

blacklist表结构:

aaarticlea/png;base64,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" alt="" />

存储过程:(根据当前时间与进入黑名单时间差够一年后删除)

delimiter //

CREATE PROCEDURE clearEmploutBlack()

BEGIN

delete from blacklist where temporaryInStatus='' and employeeStatus='' and TIMESTAMPDIFF(YEAR,time,NOW())=1;

END//

delimiter ;

创建事件(每分钟调用上面存储过程)

  CREATE event event_clearEmployOutBlack 

    ON SCHEDULE  

    EVERY  1 MINUTE   STARTS NOW()

    DO CALL clearEmploutBlack() ;

【周期性执行事件】MySQL事件(Event)&任务调度的更多相关文章

  1. mysql定时任务(event事件)

    1.event事件 事件(event)是MySQL在相应的时刻调用的过程式数据库对象.一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器” 事件和触发器类似,都 ...

  2. Mysql中event事件的入门

    Mysql中event事件的入门 主要涉及的知识点:mysql的存储过程.mysql的event事件调度. 参考资料: Qiao_Zhi的博客:[周期性执行事件]MySQL事件(Event)& ...

  3. MySQL事件调度器event的使用

    Q:假设,有一个需求,希望在某一个时刻系统调用一个begin end执行一下:十分钟以后执行一下begin end.亦或有一个需求,每个多长时间周期性执行begin end.那么这个时候该怎么办呢? ...

  4. mysql 事件(Event) 总结

    1 事件简介 事件(event)是MySQL在相应的时刻调用的过程式数据库对象.一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”. 事件和触发器类似,都是在 ...

  5. mysql定时任务(event事件)

    1.事件简介 事件(event)是MySQL在相应的时刻调用的过程式数据库对象.一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”. 事件和触发器类似,都是在 ...

  6. 【MySQL】Event事件与游标

    MySQL的事件就像Linux系统上的定时任务,按照设置的时间或者间隔时间执行设置好的任务. 如果用SQLyog一类的写存储过程.触发器或者事件会省事一些,例如SQLyog就会生成一个大致的模板: D ...

  7. 使用mysql事件定时执行岗位七天下线任务

    最近做了一个招聘的项目,在项目中有一个定时下线的需求.在做之前我一直在考虑到底使用window 服务,还是使用调度,最终我选择使用mysql定时事件,因为这样简单方便. 思路:首先创建一个存储过程,通 ...

  8. 【saltstack】saltstack执行结果和事件存储到mysql

    前言 项目中使用saltstack有一段时间了,之前都是在控制台操作,后来感觉越来越不方便,每次操作需要登陆服务器,还需要记一堆命令.最重要的是,公司进新人之后,新人由于不熟悉saltstack,容易 ...

  9. MySQL 事件EVENT

    一.用途用于某一时间执行一个事件或周期性执行一个事件. 二.语法CREATE [DEFINER = { user | CURRENT_USER }] EVENT [IF NOT EXISTS] eve ...

随机推荐

  1. AJPFX总结关于JVM的基础知识

    写在前面 之前老大让做一些外包面试,我的问题很简单: 介绍一下工作中解决过比较 有意思的问题. HashMap使用中需要注意的点. 第一个问题主要是想了解一下对方项目经验的含金量,第二个问题则是测试下 ...

  2. for循环的两种写法哪个快

    结果如下: 其实工作中,也没有这么多数据需要遍历,基本上用foreach

  3. R in action读书笔记(6)-第七章:基本统计分析(中)

    7.2 频数表和列联表 > library(vcd) > head(Arthritis) ID Treatment Sex Age Improved 1 57 Treated Male 2 ...

  4. rar在linux下安装更新

    1.下载:根据主机系统下载合适的版本,当前64为centos系统演示下载: wget http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz 2.解压安 ...

  5. vue2.0 路由传参(router-link传过去)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. WebAPI中Area的使用

    很简单,创建area后,添加一下代码到AreaRegistration中即可 context.Routes.MapHttpRoute( name: "api_default", r ...

  7. 洛谷 P1615 西游记公司

    题目背景 一道极其无厘头的题目 题目描述 事情是这样的:西游记中的孙沙猪(孙杀猪)三徒弟在西天取经之后开始进入厦门大学经贸系学习经济,在1个小时的学习后,他们用暴力手段毕业了.然后,他们创办了三个公司 ...

  8. 获取tomcat服务器上的部分日志

    Linux下tomcat的日志很大,有的几G大,要用什么工具查看或把日志文件拆解? 一般习惯用 tail 的方式在服务器查看.如果要取下 可以用 tail -2000 xxxx.log > te ...

  9. console.log()与console.dir()

    console.log()可以取代alert()或document.write(),在网页脚本中使用console.log()时,会在浏览器控制台打印出信息. console.dir()可以显示一个对 ...

  10. Debug:This kind of launch is configured to openthe debug perspective when it解决办法

    http://blog.sina.com.cn/s/blog_7ca3aa020100zlha.html 启动tomcat时,myeclipse报错: This kind of launch is c ...