本文主要向大家介绍了MySQL数据库之mysql 事件(Event) 总结 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

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。

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

4 创建事件的语法

循环执行事件

CREATE DEFINER=`root`@`localhost` //用户

EVENT `test` //事件的名称

ON SCHEDULE EVERY 60 MINUTE_SECOND //60秒循环一次   SCHEDULE EVERY ‘0:0:1‘ HOUR_SECOND    SCHEDULE EVERY ‘0:1‘ HOUR_MINUTE  (不同的计时方式)

STARTS ‘2017-11-01 00:00:00.000000‘ ENDS ‘2017-11-30 00:00:00.000000‘ // 开始时间,结束时间

ON COMPLETION PRESERVE ENABLE //过期后禁用事件而不删除

DO

BEGIN //执行的内容

insert into events_list values(‘event_now‘, now());

insert into events_list values(‘event_now1‘, now());

END

执行多条sql语句时,用用begin...end包起来

只执行一次

CREATE DEFINER=`root`@`localhost`

EVENT `test2`

ON SCHEDULE AT ‘2017-11-17 00:00:00.000000‘ // 只执行一次

ON COMPLETION PRESERVE ENABLE

DO insert into events_list values(‘event_now‘, now());

技术分享

phpmyadmin中可以直接创建事件

5 开启关闭事件调度器

show variables like ‘%event_scheduler%‘;

通过命令行

SET GLOBAL event_scheduler = ON;

SET @@global.event_scheduler = ON;

SET GLOBAL event_scheduler = 1;

SET @@global.event_scheduler = 1;

通过配置文件my.cnf

event_scheduler = 1 #或者ON

查看调度器线程

show processlist;

mysql> show processlist;

+----+-----------------+-----------+------+---------+------+------------------------+------------------+

| Id | User            | Host      | db   | Command | Time | State                  | Info             |

+----+-----------------+-----------+------+---------+------+------------------------+------------------+

|  2 | root            | localhost | NULL | Query   |    0 | NULL                   | show processlist |

|  3 | event_scheduler | localhost | NULL | Daemon  |    6 | Waiting on empty queue | NULL             |

+----+-----------------+-----------+------+---------+------+------------------------+----------------

event_scheduler 线程执行中

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

mysql数据库什么是事件_MySQL数据库之mysql 事件(Event) 总结相关推荐

  1. linux mysql 实战_Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06

    Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06 视频教程学习地址 Oracle/MySQL数据库学习专用QQ群:336282998.189070296 学完风哥本课程能熟悉 ...

  2. mysql计算机二级电子教程_MySQL数据库程序设计(2019年版全国计算机等级考试二级教程)...

    导语 内容提要 黄靖编写的<MySQL数据库程序设计(2019年版全国计算机等级考试二级教程)>根据教育部考试中心最新颁布的<全国计算机等级考试二级MySQL数据库程序设计考试大纲( ...

  3. mysql数据库集群版_MySql数据库集群

    什么是集群 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性.灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术. mysql集群技术 ...

  4. mysql数据库出现回滚_mysql数据库回滚

    在应用$mysqli时,因没常用到数据回滚,老忘,整理下,做个记录. $mysqli->autocommit(FALSE);//自动提交设置关闭 $mysqli->query(" ...

  5. mysql备份恢复文档_mysql数据库备份、恢复文档

    说明: 为了加强线上数据库安全,避免研发人员误操作造成数据的丢失,制作本文档.一线运维人员可以参考! 一.数据备份: 专用数据库备份服务器,定时对数据库进行热备.冷备,即主从设置.mysqldump冷 ...

  6. mysql数据库缓存为多久_mysql数据库查询缓存总结

    概述 查询缓存(Query Cache,简称QC),存储SELECT语句及其产生的数据结果.闲来无事,做一下这块的总结,也做个备忘! 工作原理 查询缓存工作原理如下: 缓存SELECT操作的结果集和S ...

  7. mysql数据库原理及设计_MySQL数据库原理、设计与应用

    内容简介 本书是面向MySQL数据库初学者推出的一本入门教材,以通俗易懂的语言.丰富实用的案例,详细讲解了MySQL的开发和管理技术. 全书共12章.第1章讲解了数据库基本概念和MySQL的安装步骤: ...

  8. mysql数据库比对视频教程_MySQL数据库全学习实战视频教程(27讲 )

    一)mySQL数据库简介:MySQL属于关系型数据库,是当前最流行的关系型数据库管理系统之一,在WEB项目使用方面,MySQL是最好的 RDBMS应用软件. 二)本mySQL数据库视频教程目录如下:  ...

  9. mysql数据库建表失败_mysql数据库文件太大导致建表失败,如何避免

    [求助]mysql数据库文件太大导致建表失败,如何处理? 目录下各文件大小如下: root /mbsc/mysql/data # ll total 120646812 -rw-rw---- 1 mys ...

最新文章

  1. 迭代器、代码块、闭包
  2. Git/SQL/正则表达式练习平台
  3. linux练习手册,Linux操作习题集(1)
  4. eplise怎么连接数据库_eclipse连接mysql
  5. 基于GCN的推荐该怎么搞?
  6. 怎么把python程序安装到别人电脑上_如何在自己的电脑上安装python的idle版 - 卡饭网...
  7. 【Unity】天气特效:打雷下雨
  8. 阿里云通过镜像迁移系统后,项目报异常Unable to set localhost. This prevents creation of a GUID...
  9. v4手游服务器维护,v4手游每日必做事项分享
  10. Yolo-V4数据增强
  11. 洗手池下水管堵了怎么办
  12. 马赛克颗粒感天空Canvasjs特效
  13. CMD快捷指令之磁盘检查(管理员身份运行命令提示符)
  14. dnf服务器未响应怎么解决方法,win7系统dnf经常未响应的解决方法
  15. 常微分方程(Ordinary differential equation)
  16. 抖音32级多少钱音浪要刷多少钱 抖币详细介绍
  17. CSS的水平居中、垂直居中和水平垂直居中
  18. VMware认证考试科目及课程内容
  19. 零基础如何学素描——什么是结构素描…
  20. VScode 删除所有注释+空行(软著格式)

热门文章

  1. LintCode: Edit Distance
  2. Spring Boot+Docker微服务分布式服务架构设计和部署案例
  3. 【分享】分享一款不错的网页视频播放器
  4. WinCE应用程序最小化后的最大化
  5. 综合布线系统设计遵循的标准和条件
  6. 如何格式化电脑_Mac苹果电脑如何格式化?
  7. 壁纸引擎java运行库_Microsoft Windows Desktop Runtime v5.0.0 桌面程序运行库(含常规运行库)...
  8. python能够处理的最大整数是多少_python中能输出的最大整数位是多少
  9. event 和 window.event
  10. php循环输出多个网络地址图片,php中curl循环往请求多个URL和多线程去请求多个URL的方法...