mysql中的事件调度功能

使用mysql的事件功能几个前提:

一:使用的版本必须是5.1或者以上的,因为5.1以后才支持此功能

二:检查是否开启了事件功能:

SHOW VARIABLES LIKE ‘event_scheduler’;

显示OFF则为关闭(系统默认是关闭的)

打开命令为:

SET GLOBAL event_scheduler =1;

或者

SET GLOBAL event_scheduler = ON;

关闭事件功能的命令为:

SET GLOBAL event_scheduler = 0;

或者

SET GLOBAL event_scheduler = OFF;

下面实现几个简单的实例

实例一:每秒插入一条记录到eventtest1表中

CREATE EVENT event1 ON SCHEDULE EVERY 1SECOND DO INSERT INTO eventtest1 VALUES(NULL,CURRENT_TIMESTAMP);

SELECT * FROM eventtest1;

临时关闭事件

ALTER EVENT event1 DISABLE;

开启事件

ALTER EVENT event1 ENABLE;

修改事件为没5s执行一次

ALTER EVENT event1 ON SCHEDULE EVERY 5SECOND;

删除事件

DROP EVENT event6;

实例二:每天定时清空eventtest1表

CREATE EVENT event2

ON SCHEDULE EVERY 1 DAY

DO TRUNCATE TABLE eventtest1;

实例三:2014-12-31 23:59:59清空eventtest1表

CREATE EVENT event3

ON SCHEDULE AT TIMESTAMP ‘2014-12-3123:59:59‘

DO TRUNCATE TABLE eventtest1;

实例四:10天后开始每天清空eventtest1表

CREATE EVENT event4

ON SCHEDULE EVERY 1 DAY

STARTS CURRENT_TIMESTAMP + INTERVAL 10 DAY

DO TRUNCATE TABLE eventtest1;

实例五:每天清空eventtest1表,2个月后停止执行

CREATE EVENT event5

ON SCHEDULE EVERY 1 DAY

ENDS CURRENT_TIMESTAMP + INTERVAL 2 MONTH

DO TRUNCATE TABLE eventtest1;

实例六:5天后开始每天清空eventtest1表,3个月后停止执行

CREATE EVENT event6

ON SCHEDULE EVERY 1 DAY

STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY

ENDS CURRENT_TIMESTAMP + INTERVAL 3 MONTH

DO TRUNCATE TABLE eventtest1;

注:此次试验做完后,下次再做时如果建立表和事件都能成功,但是表不会增加,一定

要查看下事件功能是不是开启的,如果关机或者其他原因,事件功能会自动关闭的

时间: 2024-10-20 03:14:37

mysql中的事件调度功能的相关文章

MySql中的事件

一.前言 自MySQL5.1.0起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录.对数据进行汇总等等),来取代原先只能由操作系统的计划任务来执行的工作.更值得 一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精 确到每分钟执行一次.对于一些对数据实时性要求比较高的应用(例如:股票.赔率.比分等)就非常适合. 事件调度器有时也可称为

[UE4]Child Widget中的事件调度器

在Child Widget中新建事件调度器,就会自动在使用该Child Widget的父级界面的事件列表中自动自动出现.功能十分强大. 原文地址:https://www.cnblogs.com/timy/p/9147633.html

(14)mysql中的事件

概述 事件调度器是MySQL5.1后新增的功能,可以将数据库按自定义的时间周期触发某种操作,可以理解为时间触发器,类似于linux系统下面的任务调度器crontab,或者类似与window下面的计划任务.值得一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精确到每分钟执行一次. 查看事件功能是否开启 在使用事件这个功能,首先要保证你的mysql的版本是5.1以上,然后还要查看你的mysql服务器上的事件

在指定时间干,必须干(kbmmw 中的事件调度)

从去年开始,kbmmw 慢慢增加内涵,除了完善各种服务外,陆续增加和扩展了作为一个中间件必须有的功能, 例如,权限管理.日志系统.调度系统.内存调试等功能. 今天给大家介绍一下kbmmw 的调度事件,调度事件的主要目标就是”在指定时间干,必须干“,不是“爱干”,是“必须干” :). 在传统的delphi 中事件调度室通过两种方式,一种方式通过Ttimer 来实现,(我20年做的母校的食堂餐饮消费系统就是通过Ttimer来轮询 POS 机的).另外一种就是通过扩展Tthread 线程类,通过后台完

MySQL计划任务(事件调度器)(Event Scheduler)[转]

原文链接: http://www.cnblogs.com/c840136/articles/2388512.html MySQL5.1.x版本中引入了一项新特性EVENT,顾名思义就是事件.定时任务机制,在指定的时间单元内执行特定的任务,因此今后一些对数据定时性操作不再依赖外部程序,而直接使用数据库本身提供的功能. 要查看当前是否已开启事件调度器,可执行如下SQL: SHOW VARIABLES LIKE 'event_scheduler'; 或 SELECT @@event_scheduler

MySQL计划任务(事件调度器)

原文:http://www.cnblogs.com/c840136/articles/2388512.html 备忘; MySQL5.1.x版本中引入了一项新特性EVENT,顾名思义就是事件.定时任务机制,在指定的时间单元内执行特定的任务,因此今后一些对数据定时性操作不再依赖外部程序,而直接使用数据库本身提供的功能. 要查看当前是否已开启事件调度器,可执行如下SQL: SHOW VARIABLES LIKE 'event_scheduler';或 SELECT @@event_scheduler

MySQL中存储过程+事件的使用方法

一.背景 将界面操作日志存储在MySQL数据库中的operationlog表中,如果该表不能自动备份,表中的数据会越来越多,影响速度.可以定期将表中数据备份到另外一个表中来解决. 二.解决方案 1.使用MySQL中的存储过程+事件解决. 存储过程逻辑为: 1)创建一个新表operationlog_temp,各字段同operationlog相同; 2)将表operationlog更名为operationlog_yyyy-mm-dd; 3)将表operationlog_temp更名为operatio

【转】MySQL中增加sequence管理功能(模拟创建sequence)

1.oracel可以直接支持sequence,但是mysql不支持sequence,因此我们要通过模拟sequence的方法在mysql中创建sequence.模拟sequence的方法:项目场景:项目应用中,曾有以下一个场景: 接口中要求发送一个int类型的流水号,由于多线程模式,如果用时间戳,可能会有重复的情况(当然概率很小). 所以想到了利用一个独立的自增的sequence来解决该问题. 当前数据库为:mysql 由于mysql和oracle不太一样,不支持直接的sequence,所以需要

sql server和mysql中分别实现分页功能

MySQL 在MySQL中,可以用 Limit 来查询第 m 列到第 n 列的记录, 例如: select * from tablename limit m, n sql="select * from users order by userId limit "+(pageNow-1)*pageSize+","+pageSize ; 获取分页后每页的数据: //分页显示用户的 信息 public ArrayList getUsersByFenye(int pageSi