前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql的事件调度器

Mysql的事件调度器

作者头像
Dream城堡
发布2019-02-26 14:30:57
8390
发布2019-02-26 14:30:57
举报
文章被收录于专栏:Spring相关Spring相关

Mysql的事件调度器

事件调度器是Mysql5.1后新增的功能,可以将数据库按自定义的时间周期触发某种操作,可以理解为时间触发器,类似Linux系统下的任务调度器crontab.

下面是一个最简单的事件调度器:
CREATE event myevent
on SCHEDULE AT `CURRENT_TIMESTAMP`()+INTERVAL 1 HOUR
DO
UPDATE myschema.mytable set mycol = mycol+1;
其中:
  • 事件名称在create event关键字后指定;
  • 通过on SCHEDULE字句指定事件在何时执行,及执行频次;
  • 通过Do句子指定要执行的具体操作或者事件.
(1)创建测试表test:
 create table test(id1 varchar(10),create_time datetime);
(2)创建事件调度器test_event_1,每隔5秒向test中插入一条数据
create EVENT test_event_1
on SCHEDULE
EVERY 5 SECOND
DO
INSERT INTO test4.test(id1,create_time)
VALUES('test',now());
(3)查看调度状态:
show events \G

image.png

(4)现在查看test表,发现并没有数据:

image.png

(5)现在查看下调度器状态,发现默认是关闭的:
show variables like '%scheduler%';

image.png

(6)开启调度器:
 set global event_scheduler = 1;
(7)隔几秒查看下test表,已经出现了数据:

image.png

(8)为了防止表变得很大,创建一个新的调度器,每隔一分钟清空一次test:
CREATE EVENT truc_test
on SCHEDULE EVERY 1 MINUTE
DO TRUNCATE TABLE test;
(9)如果事件调度器不再使用,可以禁用(disable)或者删除(drop)掉:
--禁用event
alter EVENT test_event_1 DISABLE;

--删除event
DROP test_event_1 ;
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.01.25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Mysql的事件调度器
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档