mysql定时任务相关的一些命令:

开启定时任务调度器:
    set GLOBAL event_scheduler=1;
    或者 
    set GLOBAL event_scheduler=NO;

   永久开启定时任务:在my.cnf文件中添加   event_scheduler=ON;
    
    要查看当前是否已开启事件调度器,可执行如下SQL:

    SHOW VARIABLES LIKE 'event_scheduler';
    或

    SELECT @@event_scheduler;
    或

    SHOW PROCESSLIST;
    查看所有事件:
    show events;
    
    查看event是否开启 : SHOW VARIABLES LIKE '%event_sche%';
    将事件计划开启 : SET GLOBAL event_scheduler = 1;
    将事件计划关闭 : SET GLOBAL event_scheduler = 0;
    关闭事件任务 : ALTER EVENT eventName ON COMPLETION PRESERVE DISABLE;
    开启事件任务 : ALTER EVENT eventName ON COMPLETION PRESERVE ENABLE;
    查看事件任务 : SHOW EVENTS ;

    删除事件任务: DROP event eventName ;
    
    查看是否有开启,方法 show variables like 'event%';定时器的开关是否打开
    
    创建定时任务
    
    DROP EVENT IF EXISTS e_test//
    CREATE EVENT e_test
    
    从2015-08-08 01:00:00开始每十秒执行一次
    ON SCHEDULE       
    EVERY 10 second STARTS TIMESTAMP '2015-08-08 01:00:00' 
    
    从2013年1月13号0点开始,每天运行一次 
    ON SCHEDULE 
    EVERY 1 DAY STARTS ‘2013-01-13 00:00:00’
    
    从现在开始每隔九天定时执行 
    ON SCHEDULE EVERY 9 DAY STARTS NOW() ; 
    每个月的一号凌晨1 点执行 
    on schedule
    every 1 month starts date_add(date_add(date_sub(curdate(),interval day(curdate())-1 day),interval 1 month),interval 1 hour); 
    
    每个季度一号的凌晨1点执行 
    on schedule 
    every 1 quarter starts date_add(date_add(date(concat(year(curdate()),’-‘,elt(quarter(curdate()),1,4,7,10),’-‘,1)),interval 1 quarter),interval 1 hour); 
    
    每年1月1号凌晨1点执行 
    on schedule
    every 1 quarter starts date_add(date_add(date(concat(year(curdate()),’-‘,elt(quarter(curdate()),1,4,7,10),’-‘,1)),interval 1 quarter),interval 1 hour);
                      
    ON COMPLETION PRESERVE
    DO             //do后面可以跟函数也可以跟存储过程
    BEGIN
    CALL p_test();
    END//

有时需要加上

delimiter // # 将 ; 转为 // 从而不结束
delimiter ; # 再转回 ;

定时任务可以正常执行的条件是event_scheduler定时任务计划开启  即为on或者1

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值