时间:2021-05-24
本文实例讲述了mysql 定时任务的实现与使用方法。分享给大家供大家参考,具体如下:
mysql5.1.6增加了一个事件调度器(Event Scheduler),可以做定时任务(定时删除记录,定时数据统计),取代之前系统的计划任务。mysql事件调度器可以精确到每秒执行一个任务。
事件调度器与触发器的区别:事件调度器是基于特定时间周期来触发执行某些任务,触发器是基于某个表产生的事件来触发。
一、查看是否开启
> show variables like 'event_scheduler';二、开启事件调度器
set global event_scheduler = on;这里的设置,当mysql重启后,又会自动关闭。如果需要一直开启,需要在my.ini中配置如下:
event_scheduler = on三、创建事件语法
CREATE EVENT [IF NOT EXISTS ] event_nameON SCHEDULE schedule[ ON COMPLETION [ NOT ] PRESERVE ][ ENABLE | DISABLE ][ COMMENT '注释' ]DO SQL语句; schedule : AT TIMESTAMP [+ INTERVAL interval ] | EVERY interval [ STARTS TIMESTAMP ] [ ENDS TIMESTAMP ]interval : quantity { YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE | WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE | DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND }event_name:事件名,最大长度64个字符。
schedule:执行时间。
[ ON COMPLETION [ NOT ] PRESERVE ] :事件是否需要复用。
[ ENABLE | DISABLE ] :事件开启或关闭。
四、关闭事件
ALTER EVENT event_name DISABLE;五、开启事件
ALTER EVENT event_name ENABLE;六、删除事件
DROP EVENT [IF EXISTS ] event_name;七、查看所有事件
SHOW EVENTS;八、事件例子
我们先创建一个简单的test表用于测试
CREATE TABLE `test` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID', `now` datetime DEFAULT NULL COMMENT '时间', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;事件类型有两种,一种是间隔触发,一种是特定时间触发
我们每隔一秒向test表插入一条记录:
DROP EVENT IF EXISTS event_test;CREATE EVENT event_testON SCHEDULE EVERY 1 SECOND STARTS '2017-08-22 11:57:00' ENDS '2017-08-22 12:00:00'ON COMPLETION PRESERVEENABLECOMMENT '每隔一秒向test表插入记录'DO INSERT INTO test VALUES(NULL, now());我们指定时间来向test表插入一条记录:
DROP EVENT IF EXISTS event_test2;CREATE EVENT event_test2ON SCHEDULE AT '2017-08-22 12:01:00'ON COMPLETION PRESERVEENABLECOMMENT '指定时间向test表插入记录'DO INSERT INTO test VALUES(999999, now());更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》
希望本文所述对大家MySQL数据库计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
记录下Spring自带的定时任务用法。spring中使用定时任务基于xml配置文件使用定时任务首先配置spring开启定时任务
本文实例讲述了mysql实现设置定时任务的方法。分享给大家供大家参考,具体如下:今天遇到了个需要每天定时执行的任务,在mysql数据库里面提供了这样的功能,正好
定时任务在项目中经常会使用到,本文主要根据博主自己使用定时的经验分如下几点介绍定时任务:1、Quartz定时任务简介及Spring配置Quartz定时任务2、S
刚刚看了下SpringBoot实现定时任务的文章,感觉还不错。SpringBoot使用Spring自带的Schedule来实现定时任务变得非常简单和方便。在这里
1.定时任务实现方式定时任务实现方式:Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方