mysql定时任务

目的

定时对数据库进行一些操作,如定期保存历史数据、定期清空无用数据

步骤

  • 创建存储过程
CREATE PROCEDURE p_timer()  
BEGIN  
UPDATE userinfo SET endtime = now() WHERE id = '110';  
END;  
  • 创建事件
#查看当前是否已开启事件调度器
SHOW VARIABLES LIKE 'event_scheduler';

#使用事件功能之前必须确保event_scheduler已开启
SET GLOBAL event_scheduler = 1;  

#创建事件(CREATE EVENT) 每个月的一号凌晨2 点执行STAT()存储过程
CREATE EVENT IF NOT EXISTS event_timer 
ON SCHEDULE EVERY 1 DAY STARTS DATE_ADD(DATE_ADD(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY), INTERVAL 1 DAY),INTERVAL 2 HOUR)
ON COMPLETION PRESERVE ENABLE
DO CALL p_timer();
  • 扩展1
#关闭定时任务
ALTER EVENT event_timer ON COMPLETION PRESERVE DISABLE;

#开启时间任务
ALTER EVENT event_timer ON COMPLETION PRESERVE ENABLE;

#每30秒执行任务
on schedule every 30 second 

#每一分钟执行任务,开始时间写好日期和时间
on schedule every 1 minute starts timestamp '2016-08-08 01:00:00'

#每一小时执行任务,开始时间写好日期和时间
on schedule every 1 hour starts timestamp '2016-08-08 01:00:00'

#每天凌晨一点执行,开始时间写好日期和时间
on shcedule every 1 day starts '2016-08-08 01:00:00'
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值