--设置事件调度器 开启
SET GLOBAL event_scheduler = ON;

--查看事件调度器 是否开启 on开  off关
SHOW VARIABLES LIKE 'event_scheduler';

创建表:
DROP TABLE IF EXISTS `szl`;
CREATE TABLE `szl` (
  `id` int(20) NOT NULL AUTO_INCREMENT,
  `uname` varchar(20) DEFAULT NULL,
  `lastupdate` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

事件调度器 每10秒 向szl表插入数据:
CREATE EVENT szl_evt_insert
ON SCHEDULE EVERY 10 SECOND
DO
INSERT INTO szl(uname, lastupdate) VALUES('Jimmy Shan', NOW());

说明:
szl_evt_insert 事件名称
EVERY 10 SECOND 每隔10秒执行
DO  需要做的事

-------------------------------------------------------------------------------
mysql在每天指定时间执行的事物建立方法:
DROP EVENT if EXISTS  事物名称;
CREATE EVENT事物名称
ON SCHEDULE EVERY 1 DAY
STARTS '2014-06-25 18:50:00'
DO  CALL  c managerloginsert;

关键是STARTS '2014-06-25 18:50:00' 句  指定开始日期及时间 那么第二次执行是就会18:50:00开始
想想为啥?因为这里ON SCHEDULE EVERY 1 DAY 指定一天 第一次开始执行的时间是18:50:00 下次再执行
必须到一天 24小时 。

-------------------------------------------------------------------------------
5天后清空表记录:
CREATE EVENT szl_evt_insert
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 DAY
DO
TRUNCATE TABLE szl;

-------------------------------------------------------------------------------
指定在2014-06-25 17:00:00清空表记录:
CREATE EVENT szl_evt_insert
ON SCHEDULE AT TIMESTAMP '2014-06-25 17:00:00'
DO
TRUNCATE TABLE szl;

-------------------------------------------------------------------------------
每天定时清空表:
CREATE EVENT szl_evt_insert
ON SCHEDULE EVERY 1 DAY
DO
TRUNCATE TABLE szl;

-------------------------------------------------------------------------------
5天后开启每天定时清空表:
CREATE EVENT szl_evt_insert
ON SCHEDULE EVERY 1 DAY
STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY
DO
TRUNCATE TABLE szl;

-------------------------------------------------------------------------------
每天定时清空表,5天后停止执行:
CREATE EVENT szl_evt_insert
ON SCHEDULE EVERY 1 DAY
ENDS CURRENT_TIMESTAMP + INTERVAL 5 DAY
DO
TRUNCATE TABLE szl;

-------------------------------------------------------------------------------
5天后开启每天定时清空表,一个月后停止执行:
CREATE EVENT szl_evt_insert
ON SCHEDULE EVERY 1 DAY
STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY
ENDS CURRENT_TIMESTAMP + INTERVAL 1 MONTH
DO
TRUNCATE TABLE szl;

[ON COMPLETION [NOT] PRESERVE]可以设置这个事件是执行一次还是持久执行,默认为NOT PRESERVE。

-------------------------------------------------------------------------------
每天定时清空表(只执行一次,任务完成后就终止该事件):
CREATE EVENT szl_evt_insert
ON SCHEDULE EVERY 1 DAY
ON COMPLETION NOT PRESERVE
DO
TRUNCATE TABLE szl;

[ENABLE | DISABLE]可是设置该事件创建后状态是否开启或关闭,默认为ENABLE。
[COMMENT ‘comment']可以给该事件加上注释。

-------------------------------------------------------------------------------
修改事件(ALTER EVENT)
ALTER EVENT event_name
[ON SCHEDULE schedule]
[RENAME TO new_event_name]
[ON COMPLETION [NOT] PRESERVE]
[COMMENT 'comment']
[ENABLE | DISABLE]
[DO sql_statement]
1) 临时关闭事件

ALTER EVENT e_test DISABLE;
2) 开启事件

ALTER EVENT e_test ENABLE;
3) 将每天清空test表改为5天清空一次:

ALTER EVENT e_test
ON SCHEDULE EVERY 5 DAY;

删除事件(DROP EVENT)
语法很简单,如下所示:

DROP EVENT [IF EXISTS] event_name
例如删除前面创建的e_test事件

DROP EVENT e_test;
当然前提是这个事件存在,否则会产生ERROR 1513 (HY000): Unknown event错误,因此最好加上IF EXISTS

DROP EVENT IF EXISTS e_test;

mysql事件调度器使用的更多相关文章

  1. mysql 事件调度器

    1.mysql事件调度器,也就是计划任务,计划做某事,有两种方式: 2.在某个时间点做某事,AT TIMESTAMP [+ INTERVAL INTERVAL] 某个时间点加上偏移. 3.定时地做某事 ...

  2. mysql事件调度器

    #查看mysql事件调度器是否开启 SHOW VARIABLES WHERE Variable_name = 'event_scheduler'; #开启mysql事件调度器功能 SET GLOBAL ...

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

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

  4. MySQL事件调度器Event Scheduler

    我们都知道windows的计划任务和linux的crontab都是用来实现一些周期性的任务和固定时间须要运行的任务. 在mysql5.1之前我们完毕数据库的周期性操作都必须借助这些操作系统实现. 在m ...

  5. mysql事件调度器定时删除binlog

    MySQL5.1.6起Mysql增加了事件调度器(Event Scheduler),可以用做定时执行某些特定任务,来取代原先只能由Linux操作系统的计划任务来执行的工作MySQL的事件调度器可以精确 ...

  6. mysql事件调度器功能

    一.前言 自MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录.对数据进行汇总等等),来取代原先只能由操作系 ...

  7. Mysql事件调度器学习

    在cassandra数据库中,有一个叫做TTL的功能,即插入一条记录时,可以指定某一字段对应的TTL值,比如30s,那么当TTL到达30s后该条记录就会被自动删除.目前MySQL并未直接提供TTL的功 ...

  8. MySQL的事件调度器

    自MySQL5.1.0起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务,可以看作基于时间的触发器. 一.开启 事件调度默认是关闭的,开启可执行 ...

  9. MySQL计划任务(事件调度器)(Event Scheduler)

    http://www.cnblogs.com/c840136/articles/2388512.html https://dev.mysql.com/doc/refman/5.7/en/events- ...

随机推荐

  1. entity cannot be tracked

    背景:EF Core项目中使用InMemory作为数据库提供程序,编写单元测试. 报错:“The instance of entity type 'Movie' cannot be tracked b ...

  2. handler原理

    一.消息机制概述 1.消息机制的简介 (1)Handler是什么 handler使Android给我们提供的用来更新UI的一套机制,也是一套消息处理机制:我们可以用它发送处理消息. (2)Androi ...

  3. No module named MySQLdb

    解决办法 easy_install mysql-python (mix os) pip install mysql-python (mix os/ python 2) pip install mysq ...

  4. spring源码 — 五、事务

    spring提供了可配置.易扩展的事务处理框架,本文主要从一下几个方面说明spring事务的原理 基本概念 事务配置解析 事务处理过程 基本概念 事务隔离级别 在同时进行多个事务的时候,可能会出现脏读 ...

  5. WAF开放规则定义权:专家策略+用户自定义策略=Web安全

    在第一期“漫说安全”栏目中,我们用四格漫画的形式介绍了基于深度学习的阿里云WAF到底智能在哪里,能帮客户解决什么问题. 在今天的这期栏目里,我们依然通过漫画这种通俗易懂的方式,与大家分享阿里云WAF的 ...

  6. Promise(避免金字塔回调)

    前后端分离开发,前端通过接口获取数据,但是有的页面不止一个接口,就会出现金字塔回调,可以通过 Promise 封装请求. request-data.js: function reqData(postu ...

  7. Android SQLite 数据库学习

    SQLite 数据库简介 SQLite 是一个轻量级数据库,它是D. Richard Hipp建立的公有领域项目,在2000年发布了第一个版本.它的设计目标是嵌入式的,而且占用资源非常低,在内存中只需 ...

  8. Visual Studio Code-批量添加或删除注释行

    小技巧一例,批量删除Visual Studio code或notepad++注解信息,便于读取有效代码或文本信息,具体操作如下: Visual Studio Code批量删除注解行信息: 在VS Co ...

  9. cmd命令重定向到剪切板

    Windows下 使用系统自带的 clip 命令. # 位于 C:\Windows\system32\clip.exe. 示例: # 将字符串 Hello 放入 Windows 剪贴板 echo He ...

  10. .Net Core 爬坑日记

    安装[DotNetCore.1.0.1-VS2015Tools.Preview2.0.3.exe]失败 查看log发现,发现猫腻,然后copy下链接,用迅雷手动下载[AspNetCoreLocalFe ...