Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Mysql的事件调度器

Mysql的事件调度器

作者头像
Dream城堡
发布于 2019-02-26 06:30:57
发布于 2019-02-26 06:30:57
90700
代码可运行
举报
文章被收录于专栏:Spring相关Spring相关
运行总次数:0
代码可运行

Mysql的事件调度器

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

下面是一个最简单的事件调度器:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 create table test(id1 varchar(10),create_time datetime);
(2)创建事件调度器test_event_1,每隔5秒向test中插入一条数据
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
create EVENT test_event_1
on SCHEDULE
EVERY 5 SECOND
DO
INSERT INTO test4.test(id1,create_time)
VALUES('test',now());
(3)查看调度状态:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
show events \G

image.png

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

image.png

(5)现在查看下调度器状态,发现默认是关闭的:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
show variables like '%scheduler%';

image.png

(6)开启调度器:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 set global event_scheduler = 1;
(7)隔几秒查看下test表,已经出现了数据:

image.png

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

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL Scheduler Events带来的风险
定时任务是我们开发、运维人员经常用到的,比如cron,job,schedule,events scheduler等都是为了方便我们重复执行某项工作而无需人工参与而设计,这里我要说的是MySQL数据库本身的定时任务,即events scheduler的风险案例。
星哥玩云
2022/08/17
7190
MySQL Scheduler Events带来的风险
MySQL 事件调度器
事件调度器是定时触发执行的,在这个角度上也可以称作是"定时的触发器"。触发器只是针对某个表产生的事件执行一些语句,而事件调度器则是在某一个(间隔)时间执行特定的语句/存储过程。事件是由一个特定的线程来管理的,也就是所谓的"事件调度器"。启用事件调度器后,拥有SUPER权限的账户执行 SHOW PROCESSLIST 就可以看到这个线程了。通过设定全局变量event_scheduler 的值即可动态的控制事件调度器是否启用。
用户1278550
2018/08/09
1.6K0
MySQL计划任务(事件调度器)
MySQL5.1.x版本中引入了一项新特性EVENT,顾名思义就是事件、定时任务机制,在指定的时间单元内执行特定的任务,因此今后一些对数据定时性操作不再依赖外部程序,而直接使用数据库本身提供的功能。 要查看当前是否已开启事件调度器,可执行如下SQL: SHOW VARIABLES LIKE 'event_scheduler'; 或 SELECT @@event_scheduler; 或 SHOW PROCESSLIST; 若显示: +-----------------+-------+ | Variable
wangxl
2018/03/07
1.9K0
MySQL中的事件调度器
​ 事件调度器(Event Schedule)类似于Linux中的crontab(也就是定时任务),下面介绍事件调度器的基本使用方法
俺也想起舞
2021/10/26
1.1K0
MySQL定时任务,解放双手,轻松实现自动化
Mysql 事件是一种在特定时间点自动执行的数据库操作,也可以称呼为定时任务,它可以自动执行更新数据、插入数据、删除数据等操作,无需人工干预。
码猿技术专栏
2024/01/17
4770
MySQL定时任务,解放双手,轻松实现自动化
MySQL 事件
MySQL 事件(Event)事件是根据时间表运行的任务,类似于 Unix crontab 和 Windows 定时任务。
恋喵大鲤鱼
2023/10/12
3970
一文详解MySQL中的事件调度器EVENT
MySQL中的事件调度器,EVENT,也叫定时任务,类似于Unix crontab或Windows任务调度程序。
数据和云
2020/04/01
2.3K0
MySql 定时任务的使用
  自 MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录、对数据进行汇总等等),来取代原先只能由操作系统的计划任务来执行的工作。更值得一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精确到每分钟执行一次。对于一些对数据实时性要求比较高的应用(例如:股票、赔率、比分等)就非常适合。
授客
2019/09/11
2.2K0
MySql 定时任务的使用
MySQL定时任务(EVENT|事件)如何配置,必会技能!
  自MySQL5.1.6起,增加了一个非常有特色的功能 - 事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录、数据统计报告、数据备份等等),来取代原先只能由操作系统的计划任务来执行的工作。   值得一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux的cron)只能精确到每分钟执行一次。对于一些对数据实时性要求比较高的应用(例如:股票、赔率、比分等)就非常适合。
陈哈哈
2021/10/13
7.7K0
MySQL从删库到跑路_高级(八)——事件
事件是用来执行定时任务的一组SQL集,在时间到时会触发。 一个事件可调用一次,也可周期性的启动,由一个特定的事件调度器线程来管理的。 事件取代了原先只能由操作系统的计划任务来执行的工作,而且MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精确到每分钟执行一次。
良月柒
2019/03/20
1K0
MySQL的事件调度器:周期性任务和定时器
MySQL的事件调度器是一种在数据库中定义和执行周期性任务和定时器的机制。通过事件调度器,您可以在指定的时间间隔内自动执行某些任务,例如数据备份、数据清理等。MySQL的事件调度器基于时间触发,可以使用SQL语句定义和管理任务,并且具有高度灵活性和可配置性。
用户1289394
2024/04/02
3640
MySQL的事件调度器:周期性任务和定时器
Mysql定时器的简单使用
文章时间:2021年6月8日 15:38:29 解决问题:Mysql定时器的简单使用 代码使用 查询定时器 开启关闭状态 on为开启 off为关闭 SHOW VARIABLES LIKE 'event_scheduler'; 打开定时器 SET GLOBAL event_scheduler = ON; 删除数据(示例,请根据自身业务来) DELIMITER $$ DROP EVENT IF EXISTS deleteFrameInfo; CREATE EVENT deleteFrameInfo ON S
华创信息技术
2022/05/28
8990
Mysql定时器的简单使用
MySQL 8.0 定时任务(事件)验证
1、启动事件机制 mysql> SHOW VARIABLES LIKE 'event_scheduler'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | event_scheduler | ON | +-----------------+-------+ 1 row in set (0.00 sec) mysql> MySQL 8.0事件机制是默认开启的。 2、准备一张数
程裕强
2021/11/15
1.6K0
MySQL 8.0 定时任务(事件)验证
定时删除过期数据(MySQL数据表)
上面代码表示从2019-05-29 17:33:43起每一天执行一次del_data_count这个存储过程,并带上参数 5. 创建存储过程
李玺
2021/11/22
5.1K0
MySQL定时任务(event事件)
2 事件的优缺点 2.1 优点 一些对数据定时性操作不再依赖外部程序,而直接使用数据库本身提供的功能。 可以实现每秒钟执行一个任务,这在一些对实时性要求较高的环境下就非常实用了。
星哥玩云
2022/08/18
2.7K0
使用MySQLl事件定时执行岗位七天下线任务
  最近做了一个招聘的项目,在项目中有一个定时下线的需求。在做之前我一直在考虑到底使用window 服务,还是使用调度,最终我选择使用mysql定时事件,因为这样简单方便。
追逐时光者
2022/02/15
3710
mysqldump命令详解 Part 2- 建立触发器 事件
前面说了MySQL Linux平台和Windows平台的安装 下面开始是MySQL的一些学习笔记 前面我们说了如果构造数据 这节开始说MySQL 的备份 环境为MySQL 5.7.25 在解释命令之前
bsbforever
2020/08/19
6320
mysqldump命令详解 Part 2- 建立触发器 事件
MySQL的定时任务详解
delimiter关键字的使用:在mysql客户端中分隔符默认是分号(;)。如果一次输入的语句较多,并且语句中间有分号,这时需要新指定一个特殊的分隔符。可以使用“delimiter //”,这样改变了分隔符。其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。
程序员云帆哥
2022/05/12
3.4K0
使用 MySQL Scheduler 和 Event 周期性创建数据表
使用 MySQL Scheduler 和 Event 周期性创建数据表,下面提供的是按月建表计划任务及事件通过 ON SCHEDULE EVERY 1 MINUTE 语句完成。
柳公子
2018/09/17
1.1K0
运维实践|采集MySQL数据出现many connection errors
最近在做OGG结构化数据采集工作,在数据采集过程中,数据库总是出现连接错误,导致阻塞。并提示以下错误:
六月暴雪飞梨花
2023/11/29
4220
运维实践|采集MySQL数据出现many connection errors
相关推荐
MySQL Scheduler Events带来的风险
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验