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;

 

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

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


本文出自 “keke” 博客,请务必保留此出处http://keke51cto.blog.51cto.com/6467511/1547238

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。