mysql 定时任务

  • 查看命令
1
show variables like '%event_sche%';
  • 显示的event_scheduler为OFF时用以下命令开启
1
set global event_scheduler=1;
  • 注意:以上的改法在数据库重启后将会恢复为原来状态,要想数据库重启后也可以让event_scheduler开启,则需要在配置文件my.ini的设置。修改如下,然后重启mysql服务即可。
1
2
[mysqld]
event_scheduler=ON //这一行加入mysqld标签下

 

 

1、创建定时任务:

create event second_event
on schedule every 1 second
on completion preserve disable
do call test_proce();
  1. 第一行create event day_event是创建名为second_event的事件,注意此处没有括号
  2. 第二行是创建周期定时的规则,本处的意思是每秒钟执行一次
  3. 第三行on completion preserve disable是表示创建后并不开始生效。
  4. 第四行do call test_proce()是该event(事件)的操作内容,表示调用我们刚刚创建的test_proce()存储过程。

 

2、查看定时任务event(事件),可以查看本机所有的事件

1
SELECT event_name,event_definition,interval_value,interval_field,status FROM information_schema.EVENTS;

 

 

3、开启已经创建好的event(事件)


1
2
alter event second_event on completion preserve enable;//开启定时任务
alter event second_event on completion preserve disable;//关闭定时任务

 

4、常见周期定时规则

 

  • 周期执行–关键字 EVERY

    1. 单位有:second,minute,hour,day,week(周),quarter(季度),month,year
    2. 如:

      1
      2
      3
      
      on schedule every 1 second //每秒执行1次
      on schedule every 2 minute //每两分钟执行1次
      on schedule every 3 day //每3天执行1次
      
  • 在具体某个时间执行–关键字 AT

    1. 如:

      1
      2
      3
      
      on schedule at current_timestamp()+interval 5 day //5天后执行
      on schedule at current_timestamp()+interval 10 minute //10分钟后执行
      on schedule at '2016-10-01 21:50:00' //在2016年10月1日,晚上9点50执行
      
  • 在某个时间段执行–关键字STARTS ENDS

    1. 如:

      1
      2
      
      on schedule every 1 day starts current_timestamp()+interval 5 day ends current_timestamp()+interval 1 month //5天后开始每天都执行执行到下个月底
      on schedule every 1 day ends current_timestamp()+interval 5 day //从现在起每天执行,执行5天
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值