利用Navicat创建事件调度器

什么是事件调度器?

事件调度器是MYSQL中提供的可作定时操作处理或者周期性操作处理的一个数据库对象,它频繁地被运用到现实的软件开发活动中,它可以帮助我们实现定时或周期性的大批量数据处理,辅助软件功能的实现,是软件功能的一部份。

步骤

1.打开Navicat,选择任意一个数据库。

2. 点击事件,在点击新建事件。

3.写入需要周期执行的SQL语句。
定义者:指明该event的用户服务器在执行该事件时,使用该用户来检查权限。默认用户为当前用户,即current_user。
状态:ENABLE表示该event创建成功后,一旦满足时间条件就会被执行;DISABLE表示该event被关闭,不会被执行。
ON COMPLEMENT:PRESERVE表示该事件过期之后仍会被保留;NOT PRESERVE表示该event过期之后就删除。

4.定义该event是单次执行事件,还是需要重复执行的事件。
在这里插入图片描述
若在未来的某个时间执行一个单次事件:

若在间隔一个月之后的23:00执行一个单次事件:

若需要每周重复执行一个事件,起始时间是创建成功的时间:

也可为这个重复执行事件指定开始事件和结束事件,还可加上间隔。

5.可为该event添加注释,也可不添加。

6.进行SQL语句预览,并保存该event,保存时为事件取名。

7.事件只能在服务器启动并开启事件计划时才能处理。

验证是否创建成功

show events;

事件调度器的创建语法

CREATE
  [DEFINER = { user | CURRENT_USER }]  #定义者
EVENT
  [IF NOT EXISTS]
event_name    #该事件的名字
ON SCHEDULE schedule  #指定何时执行该事件
  [ON COMPLETION [NOT] PRESERVE]  #是否长期保存该事件
  [ENABLE | DISABLE | DISABLE ON SLAVE] #创建成功后是否立即生效
  [COMMENT 'comment']  #注释
DO event_body;  #定义通过该事件来执行的操作内容

查看事件调度器是否开启

show variables like ‘event_scheduler’;

设置开启事件调度器

set global event_scheduler=on; 或 set global event_scheduler=1;

设置关闭事件调度器

set global event_scheduler=off; 或 set global event_scheduler=0;

禁用事件调度器

如果调度器不再使用,可以禁用(disable)或删除(drop)
禁用/启用:
ALTER EVENT 调度器名称 DISABLE/ ENABLE
删除:
DROP EVENT 调度器名称 – 删除

MYSQL事件调度器的测试点

1.关注执行的SQL逻辑和执行结果是否正确
2.关注执行的时间点是否与计划的一致
3.事件调度器一般与存储过程搭配使用,常用来作大量数据处理,
所以还需要关注执行的效率是否高效(也就是是否有性能问题)

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值