--设置事件调度器 开启
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. 对于单页应用中如何监听 URL 变化的思考

    周末开发了一个在 GitHub 中给 repo 增加自定义备注的 chrome 扩展. 开发这个扩展的原因是我在 GitHub 中所 star 的项目实在太多了(截止目前 671 个),有的项目过个几 ...

  2. 解决vs2019中暂时无法为.net core WinForms使用 Designer 的临时方法

    目录 解决vs2019中暂时无法为.net core WinForms使用 Designer 的临时方法 安装 vs 2019 professional/enterprise版本 在vs的设置里,勾选 ...

  3. WebGL three.js学习笔记 创建three.js代码的基本框架

    WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...

  4. JS点击图片更改照片

    <img src="../../img/20190224185111.png" alt="" id="zhaopian"/> - ...

  5. MySQL8.0新特性——支持原子DDL语句

    MySQL 8.0开始支持原子数据定义语言(DDL)语句.此功能称为原子DDL.原子DDL语句将与DDL操作关联的数据字典更新,存储引擎操作和二进制日志写入组合到单个原子事务中.即使服务器在操作期间暂 ...

  6. Error:Execution failed for task ':app:processDebugManifest'.

    Attribute meta-data#android.support.VERSION@value value=(26.1.0) from AndroidManifest.xml:28:13-35 i ...

  7. Android之PhotoView使用

    文章大纲 一.什么是PhotoView二.代码实战三.项目源码下载 一.什么是PhotoView   一款 ImageView 展示框架,支持缩放,响应手势,位于图片排行榜的第五位,PhotoView ...

  8. Percona XtraBackup 8.0, 安装与测试

    Percona XtraBackup 8.0 是Percona XtraBackup新推出了一个针对MySQL8.0的版本,主要是MySQL8.0在Redo 和 数据库字典方面有了新的改进. Xtra ...

  9. sql语句 汉字转拼音首字母

    (1)------------------------------------------------------------------------------------------------- ...

  10. shell读取文件内容并进行变量赋值

    需求: shell读取文件内容,然后把内容赋值给变量然后进行字符串处理 实现: dataline=$(cat /root/data/data.txt) echo $dataline