【周期性执行事件】MySQL事件(Event)&任务调度
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)&任务调度的更多相关文章
- mysql定时任务(event事件)
1.event事件 事件(event)是MySQL在相应的时刻调用的过程式数据库对象.一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器” 事件和触发器类似,都 ...
- Mysql中event事件的入门
Mysql中event事件的入门 主要涉及的知识点:mysql的存储过程.mysql的event事件调度. 参考资料: Qiao_Zhi的博客:[周期性执行事件]MySQL事件(Event)& ...
- MySQL事件调度器event的使用
Q:假设,有一个需求,希望在某一个时刻系统调用一个begin end执行一下:十分钟以后执行一下begin end.亦或有一个需求,每个多长时间周期性执行begin end.那么这个时候该怎么办呢? ...
- mysql 事件(Event) 总结
1 事件简介 事件(event)是MySQL在相应的时刻调用的过程式数据库对象.一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”. 事件和触发器类似,都是在 ...
- mysql定时任务(event事件)
1.事件简介 事件(event)是MySQL在相应的时刻调用的过程式数据库对象.一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”. 事件和触发器类似,都是在 ...
- 【MySQL】Event事件与游标
MySQL的事件就像Linux系统上的定时任务,按照设置的时间或者间隔时间执行设置好的任务. 如果用SQLyog一类的写存储过程.触发器或者事件会省事一些,例如SQLyog就会生成一个大致的模板: D ...
- 使用mysql事件定时执行岗位七天下线任务
最近做了一个招聘的项目,在项目中有一个定时下线的需求.在做之前我一直在考虑到底使用window 服务,还是使用调度,最终我选择使用mysql定时事件,因为这样简单方便. 思路:首先创建一个存储过程,通 ...
- 【saltstack】saltstack执行结果和事件存储到mysql
前言 项目中使用saltstack有一段时间了,之前都是在控制台操作,后来感觉越来越不方便,每次操作需要登陆服务器,还需要记一堆命令.最重要的是,公司进新人之后,新人由于不熟悉saltstack,容易 ...
- MySQL 事件EVENT
一.用途用于某一时间执行一个事件或周期性执行一个事件. 二.语法CREATE [DEFINER = { user | CURRENT_USER }] EVENT [IF NOT EXISTS] eve ...
随机推荐
- mysql各个版本下载地址
之所记录下来是因为我找了好久才找到:这下记着了:http://downloads.mysql.com/archives/community/ 希望对没有找到的朋友有帮助
- LN : leetcode 123 Best Time to Buy and Sell Stock III
lc 123 Best Time to Buy and Sell Stock III 123 Best Time to Buy and Sell Stock III Say you have an a ...
- 总结几点sql语句优化
一.表设计阶段: 1.主键的使用 a.业务日志表.安全审计表采用自增长: b.自定义编号用于业务流程类表,根据一定的编号规则: c.int型主键 用于基础数据表: 2.逻辑删除字段的 ...
- CentOS 6.4 linux下编译安装 LNMP环境
1.nginx编译安装 2.PHP编译安装 3.mysql编译安装 4.NGINX配置模板 5.CentOS 6.4 php-fpm 添加service 添加平滑启动/重启
- 迅为IMX6UL工业级商业扩展级核心板兼容同一底板
商业级IMX6UL核心板: ARM Cortex-A7架构 主频高达528 MHz 核心板512M DDR内存 8G EMMC 存储 运行温度:-20℃ ~ +80℃ CPU集成电源管理 核心板尺寸仅 ...
- 新建 vue项目时报错,无法成功搭建项目
之前电脑已经安装 Node环境和 vue-cli脚手架,但是过段时间没有使用,然后现在用 vue-cli 搭建项目的时候,启动服务器的时候报错,无法启动成功,摸索半天,发现是因为 Node和vue-c ...
- 一起来学SpringBoot(十七)优雅的参数校验
参数校验在开发中经常需要写一些字段校验的代码,比如字段非空,字段长度限制,邮箱格式验证等等,写这些与业务逻辑关系不大的代码个人感觉有两个麻烦: 验证代码繁琐,重复劳动方法内代码显得冗长每次要看哪些参数 ...
- jQuery PC端图片预览,鼠标移上去查看大图
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 引入msword
找到解决方法了:不是直接引入mswork.tlh文件的,该文件是#import "C:\\Program Files\\Microsoft Office\\Office12\\MSWORD. ...
- E. Wrong Answer
E. Wrong Answer time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...