MySQL事件创建

转:http://www.linuxidc.net/thread-3638-1-1.html

http://www.th7.cn/db/mysql/201305/30302.shtml

http://www.2cto.com/database/201108/101036.html

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

1、创建一个每隔10秒往t1表中插入一条数据的事件
CREATE EVENT IF NOT EXISTS t1 ON SCHEDULE EVERY 10 SECOND
ON COMPLETION PRESERVE
DO INSERT INTO t1(name) VALUES('AAA');
2、开启Mysql的事件计划状态
开启: SET GLOBAL event_scheduler="ON"
关闭:SET GLOBAL event_scheduler="OFF"

Mysql事件查看及定时器相关操作 

查看事件

SHOW EVENTS

select * from mysql.event 

查看是否开启定时器

SHOW VARIABLES LIKE 'event_scheduler';

开启定时器 0:off 1:on

SET GLOBAL event_scheduler = 1; .

删除

drop  EVENT *_event;

创建

CREATE EVENT IF NOT EXISTS *_event_test

ON SCHEDULE  every 1 Hour

DO CALL update_*_proc();  

或者

CREATE EVENT IF NOT EXISTS update_*_event

ON SCHEDULE  every 1 DAY STARTS TIMESTAMP(CURRENT_DATE,'00:05:00')

ON COMPLETION PRESERVE ENABLE

DO CALL update_*_proc();  

date_add(date(curdate() + 1),interval 8 hour) 

    A+
发布日期:2015年11月27日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: