在数据库管理中,经常要周期性的执行某一命令或 SQL 语句,于是 MySQL 5.1 版本以后就提供了事件,它可以很方便的实现 MySQL 数据库的计划任务,定期运行指定命令,使用起来非常简单方便。

**事件(Event)**也可称为事件调度器(Event Scheduler),是用来执行定时任务的一组 SQL 集合,可以通俗理解成 MySQL 中的定时器。一个事件可调用一次,也可周期性的启动。

事件可以作为定时任务调度器,取代部分原来只能用操作系统的计划任务才能执行的工作。另外,更值得一提的是,MySQL 的事件可以实现每秒钟执行一个任务,非常适合对实时性要求较高的环境,而操作系统的计划任务只能精确到每分钟一次。

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

查看事件是否开启

在 MySQL 中,调度器 event_scheduler 负责调用事件。我们可以通过以下几种命令查看事件是否开启,一般情况下默认值为 OFF。SQL 命令和运行结果如下:

mysql> SHOW VARIABLES LIKE 'event_scheduler';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| event_scheduler | OFF   |
+-----------------+-------+
1 row in set, 1 warning (0.02 sec)mysql> SELECT @@event_scheduler;
+-------------------+
| @@event_scheduler |
+-------------------+
| OFF               |
+-------------------+
mysql> SHOW PROCESSLIST;
+----+------+-----------------+------+---------+------+----------+------------------+
| Id | User | Host            | db   | Command | Time | State    | Info             |
+----+------+-----------------+------+---------+------+----------+------------------+
|  2 | root | localhost:56279 | NULL | Query   |    0 | starting | SHOW PROCESSLIST |
+----+------+-----------------+------+---------+------+----------+------------------+

从结果可以看出,事件没有开启。因为参数 event_scheduler 的值为 OFF,并且在 PROCESSLIST 中查看不到 event_scheduler 的信息。如果参数 event_scheduler 的值为 ON,或者在 PROCESSLIST 中显示了 event_scheduler 的信息,则说明事件已经开启。

开启事件

开启事件主要通过以下两种方式实现。

1)通过设置全局参数修改
可以使用 SET GLOBAL 命令设定全局变量 event_scheduler 的值,开启或关闭事件。将 event_scheduler 参数的值设置为 ON,表示开启事件;设置为 OFF,则关闭事件。

例如,要开启事件可以在命令行窗口中输入以下命令。

mysql> SET GLOBAL event_scheduler = ON ;
mysql> SHOW VARIABLES LIKE 'event_scheduler';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| event_scheduler | ON    |
+-----------------+-------+
1 row in set, 1 warning (0.01 sec)

结果显示,event_scheduler 的值为 ON,表示事件已经开启。

通过 SET GLOBAL 命令开启或关闭事件,MySQL 重启服务后事件又会回到原来的状态,如果想要始终开启或关闭事件,可以修改 MySQL 配置文件。

2)更改配置文件
在 MySQL 配置文件中找到 [mysqld] 选项,然后在下面添加以下代码开启事件。

event_scheduler = ON

在配置文件中添加代码并保存文件后,重启 MySQL 服务才能生效。

通过该方法开启或关闭事件,重启 MySQL 服务后,不会回到原来的状态。例如,此时重启 MySQL 服务器,然后查看事件是否开启。

mysql> SHOW VARIABLES LIKE 'event_scheduler';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| event_scheduler | ON    |
+-----------------+-------+

结果显示,参数 event_scheduler 的值为 ON,表示已经开启。

16、Event事件(定时任务)是什么?相关推荐

  1. MySQL的定时任务EVENT事件使用说明

    一.查看定时策略是否开启 show variables like '%event_scheduler%'; * on这里是启用的 查看进程:会看到一个用户为event_scheduler,执行状态为W ...

  2. mysql启动时自动启动event事件

    mysql定时执行-mysql event事件 2012年12月07日  ⁄ mysql基础语法  ⁄ 共 3221字 ⁄ 被围观 167 views+⁄ 发帖人:  admin 分别有liunx,j ...

  3. javascript中window.event事件用法详解

    前两天写程序时因为要用到javascript中的window.event事件,于是就在网上搜了一下,终于找到一篇不错的文章,来与大家分享下:  描述   event代表事件的状态,例如触发event对 ...

  4. 第53天:鼠标事件、event事件对象

    -->鼠标事件 -->event事件对象 -->默认事件 -->键盘事件(keyCode) -->拖拽效果 一.鼠标事件 onclick ---------------鼠 ...

  5. mysql event使用,用MySQL的Event设置定时任务执行sql语句 | 老疯子

    想在每天某个特定时间段定时执行一条sql语句命令,来进行数据库的备份或者更新删除等,可以直接使用MySQL自带的定时任务Event事件来执行操作.需要注意的是Event事件是在MySQL 5.1版本中 ...

  6. input回车触发事件_JavaScript学习笔记(十五)-- Event事件(上)

    EVENT(上) 之前我们简单的了解过一些事件,比如 onclick / onload / onscroll / ... 今天开始,我们详细的学习一些 事件 什么是事件 一个事件由什么东西组成 触发谁 ...

  7. mysql 的事件_一文总结MySQL数据库事件--定时任务实现方式

    由于最近在做某些日志表的清理工作,会用到定时任务,所以这里也简单介绍一下mysql如何用事件来实现定时任务. 后面会介绍两个日志表清理实现方案,一种是传统的定时delete,另一种会稍微复杂点,主要是 ...

  8. iframe关闭时触发事件_超详细的mysql数据库事件--定时任务介绍及日常管理

    概述 由于最近在做某些日志表的清理工作,会用到定时任务,所以这里也简单介绍一下mysql如何用事件来实现定时任务. 后面会介绍两个日志表清理实现方案,一种是传统的定时delete,另一种会稍微复杂点, ...

  9. mysql自定义函数、存储过程、游标、触发器、事件(定时任务)

    创建函数FUN_GET_ORG_CHILD(rootId) CREATE FUNCTION `FUN_GET_ORG_CHILD`(rootId varchar(100))RETURNS varcha ...

  10. 【复习】进程、线程、协程篇,线程锁之Lock\Rlock\信号量、Event事件、Queue队列

    操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 ...

最新文章

  1. VS调试时提示此项目已经过期
  2. “数学不行,干啥也不行!”骨灰级程序员:其实你们都是瞎努力
  3. EasyGui的用法简介
  4. Direct交换器-编写消费者
  5. break lab c语言,C语言实验lab10.doc
  6. MyBatis-Plus_AR 模式
  7. 刘强东宣布向瑞士捐赠160万只口罩及其他大量急需医疗物资
  8. javascript实战pdf_web前端入门到实战:10分钟入门 CSS3 Animation
  9. android webkit案例,移动互联网时代--Android上的一个例子
  10. jdk api 1.8 中文版 下载
  11. vue 显示led数码字体
  12. 即时通信聊天工具的原理与设计
  13. python逐步回归筛选变量_SPSS进行逐步回归分析
  14. 什么是偏振光和UV光?
  15. 什么是内卷?什么是囚徒困境?故事叙述
  16. 自动控制理论的发展历程
  17. 51单片机学习——中断
  18. Django中的跨域解决办法 基于后端的跨域解决方案
  19. RSA算法习题 (采用RSA算法,其中e=7,p=11,q=13,求出公钥和私钥,并求出明文85进行加密后的密文。)
  20. CSAPP读书笔记 第一章

热门文章

  1. Py之playsound:playsound的简介、安装、使用方法之详细攻略
  2. 成功解决AttributeError: 'collections.defaultdict' object has no attribute 'iteritems'
  3. VS打开文件,解决方案资源管理器自动定位到文件位置
  4. Linux上如何查看物理CPU个数,核数,线程数
  5. Servlet、Filter、Listener总结
  6. linux 下mysql命令 (授权用户 和 基本操作)
  7. 关于4.8节第一个例子
  8. 关于用飞信框架运行net程序-用批处理运行
  9. PCMCIA接口采集卡系列
  10. opencv-4.1.0-百度云盘下载链接-环境配置