一 event 介绍

事件调度器是定时触发执行的,在这个角度上也可以称作是"临时的触发器"。触发器只是针对某个表产生的事件执行一些语句,而事件调度器则是在某一个(间隔)时间执行一些语句。事件是由一个特定的线程来管理的,也就是所谓的"事件调度器"。启用事件调度器后,拥有 SUPER 权限的账户执行 SHOW PROCESSLIST 就可以看到这个线程了。通过设定全局变量event_scheduler 的值即可动态的控制事件调度器是否启用。

在使用这个功能之前必须确保event_scheduler已开启,可执行

SET GLOBAL event_scheduler = 1;

SET GLOBAL event_scheduler = on;

设置成功之后,执行show proceslist;

root@127.0.0.1 : (none) 11:56:09> show variables like '%event_scheduler%';

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

| Variable_name   | Value |

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

| event_scheduler | OFF   |

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

1 row in set (0.01 sec)

root@127.0.0.1 : (none) 11:56:30> SET GLOBAL event_scheduler = 1;

Query OK, 0 rows affected (0.03 sec)

root@127.0.0.1 : (none) 11:56:41> show variables like '%event_scheduler%';

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

| Variable_name   | Value |

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

| event_scheduler | ON    |

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

1 row in set (0.01 sec)

root@127.0.0.1 : (none) 11:59:57> show processlist;

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

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

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

| 165933 | root            | localhost:34672 | NULL | Query   |    0 | NULL                   | show processlist |

| 165934 | event_scheduler | localhost       | NULL | Daemon  |  204 | Waiting on empty queue | NULL             |

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

2 rows in set (0.00 sec)

进程中会出现一个event_scheduler的用户用于执行调度事件。

二、创建事件

create evnet  [if not exists] event_name

on schedule schedule

[on completion [not] preserve]

[enable | disenable]

[commet 'commet']

do sql_statement;

schedule:

AT timestamp [+ interval interval] | every interval [starts timestamp] [ends timestamp]

interval:

quantity {year | quarter | month | day | hour | minute |

week | sencond | year_month | day_hour | day_minute |

day_sencond | hour_minute | hour_sencond | minute_sencond}

1) 创建一个任务每隔两秒向表插入数据

create evnet  e_tab_insert

on schedule every 2 sencond

do insert into yang.evnt values (now());

2) 10天后清空evnt表:

create evnet e_10d_truct_evnt

on schedule at current_timestamp + interal 10 day

do truncate table yang.evnt;

3) 2013年4月5日12点整清空evnt表:

create evnet  e_evnt_1

on schedule at timestamp '2013-04-05 12:00:00'

do truncate table yang.evnt;

4) 2天后开启每天定时清空evnt表,一年后停止执行:

create evnet  e_evnt_2

on schedule every 1 day

starts current_timestamp + interval 2 day

ends   current_timestamp + interval 1 year

do truncate table yang.evnt

[on completion [not] preserve]可以设置这个事件是执行一次还是持久执行,默认为not preserve。

5) 每天定时清空evnt表(只执行一次,任务完成后就终止该事件):

create evnet  e_evnt_3

on schedule every 1 day

on completion not preserve

do truncate table yang.evnt

[enable | disenable]可是设置该事件创建后状态是否开启或关闭,默认为enable。

[commet 'commet']可以给该事件加上注释。

三、修改事件

alter event event_name

[on schedule schedule]

[rename to new_event_name]

[on completion [not] preserve]

[commet 'commet']

[enable | disenable]

[do sql_statement]

1) 关闭事件

alter event e_evnt disenable;

2) 开启事件

alter event e_evnt enable;

3) 将每天清空evnt表改为5天清空一次:

alter event e_evnt

on schedule every 5 day;

四、删除事件

DROP event [IF EXISTS] event_name

五 注意事项

对于主从架构的数据库要注意将从库的任务调度关闭,以防止在主库执行了之后,从库又重复在备库进行调度evnet。

mysql 事件调度器_【MySQL】事件调度器 (Event Scheduler)相关推荐

  1. mysql无法找到事件id100描述_解决“事件 ID ( 487 )的描述(在资源( Zend Optimizer )中)无法找到”...

    事件类型: 错误 事件来源: Zend Optimizer 事件种类: 无 事件 ID: 487 日期: 2006-8-18 事件: 0:17:36 用户: N/A 计算机: COMPUTER 描述: ...

  2. 会话验证调度器_用视力调度建立会话式预订机器人

    会话验证调度器 Lego Party is my side hustle - Lego-themed entertainment like parties, classes, boozy Lego b ...

  3. mysql运维技巧_​mysql初级运维使用技巧

    整理了一下,工作中用到的最高的关于mysql的一些命令和使用技巧,分享给刚接触mysql的小伙伴么. 1mysql最基础 1.1mysql安装 建议新人安装mysql直接使用yum安装即可,大牛们已经 ...

  4. java 解析器_高性能Java解析器实现过程详解

    如果你没有指定数据或语言标准的或开源的Java解析器, 可能经常要用Java实现你自己的数据或语言解析器.或者,可能有很多解析器可选,但是要么太慢,要么太耗内存,或者没有你需要的特定功能.或者开源解析 ...

  5. 多项式朴素贝叶斯分类器_多项式朴素贝叶斯分类器的主题预测

    多项式朴素贝叶斯分类器 In Analytics Vidhya, Hackathon, there was a problem statement for text prediction of top ...

  6. spring 两次进入拦截器_过滤器和拦截器的 6 个区别,别再傻傻分不清了

    点击上方 肉眼品世界,选择 设为星标 深度价值体系传递 作者 :程序员内点事 来源 :toutiao.com/i6834310440495874563 毕竟这两种工具开发中用到的频率都相当高,应用起来 ...

  7. 如何听节拍器_如何用节拍器卡节拍?节拍器的使用方法!

    大家好,我是雅风. 这篇文章讲节拍器如何去使用,如何用节拍器卡节拍? 节拍器一般分为两种,一种机械运转上发条,一种电子. 首先我来讲一下节拍器使用方法. 一.机械节拍器. 机械节拍器 这种节拍器不需要 ...

  8. 如何听节拍器_怎么听节拍器视频

    今天的吉他培训班,来给大家说说.时间就是一切吉他手们最喜欢那些新推出的小玩意--像变调夹.连线.踏板.电子调音器和效果器等等,但是节拍器总是受到忽视.然而,正确地(甚至是创造性地)使用节拍器的技巧,比 ...

  9. 几何着色器着色器_使用金属着色器制作第一个圆圈

    几何着色器着色器 Metal Shaders? Render Pipeline? Vertex Shaders? Fragment Shaders? If you were anything like ...

  10. mysql王者晋级 电子书_“MySQL王者晋级之路”读书笔记-结构与引擎

    最近笔者第一遍读"MySQL王者晋级之路",此书偏向于实际运用,可以给一个正确的方向.先总结其中较为重要的知识点记录下来. 1.mysql安装问题 1.1selinux和iptab ...

最新文章

  1. javascript中构造函数的返回值问题和new对象的过程
  2. 建模步骤_【设计课堂】游戏手柄建模,看这14个步骤图就够了!
  3. 图片模糊化处理_10个JavaScript图像处理库,收藏好留备用
  4. UsageLog4j
  5. 电子商务的核心是不是计算机技术,电子商务的核心内容是网络营销
  6. Top 100 good english words
  7. 分析汉谜网入口,列表,详情 地址
  8. 中兴交换机如何查看服务器设备,中兴交换机查看设备序列号
  9. 简说阿里云服务器搭建与简单项目部署
  10. 我的c盘为多余的java.exejavaw.exe_java.exe,javac.exe,javaw.exe 是什么进程?
  11. 明尼苏达大学博导“约法十章”火了:没事不乱开会、合写论文不要催导师,复旦教授直呼值得学习...
  12. 六万字带你一次性速通python爬虫基础
  13. 实体操盘手开发分销商城小程序商业模式解析
  14. 怎么退出自适应巡航_定速巡航与自适应巡航到底哪个更强?如何正确使用这些功能?...
  15. 组合数学——信封错装问题
  16. [整站源码]thinkphp家纺针织床上用品类网站模板+前后端源码
  17. 神经网络从产生到现在的发展历史--科普
  18. 傅里叶变换、拉普拉斯变换、Z 变换的联系是什么?为什么要进行这些变换?...
  19. 转:redis实践经验分享
  20. 格鲁伯小升初文学常识必考

热门文章

  1. Oracle闪回技术
  2. 微信公众平台消息接口开发(34)微信墙之表白墙/婚礼墙/晚会墙/会议墙/晒单墙/照片墙/历史墙...
  3. Spring AOP动态代理实现,解决Spring Boot中无法正常启用JDK动态代理的问题
  4. Nuxt项目支持import写法的最新解决方案
  5. 【报告分享】2022中国品牌出海模式洞察及趋势情况报告.pdf(附下载链接)
  6. 情感分析技术在美团推荐系统中的探索与应用
  7. 微信团队的深度学习框架deepx_core开源啦
  8. 【报告分享】2020年中国短视频头部市场竞争状况专题研究报告.pdf(附下载链接)...
  9. Leetcode每日一题:148.sort-list(链表排序)
  10. 排序专题之C++中的sort函数调用