暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL的定时任务详解

纪鑫鑫 2021-08-09
199

一、查看定时策略是否开启

    show variables like '%event_sche%';
    复制

    开启定时策略:

      set global event_scheduler = 1;
      复制


      二、创建存储过程

        create procedure test_procedure ()
        begin
        insert into user(name,create_date) values('hello',now());
        end;
        复制

        delimiter关键字的使用:在mysql客户端中分隔符默认是分号(;)。如果一次输入的语句较多,并且语句中间有分号,这时需要新指定一个特殊的分隔符。可以使用“delimiter ”,这样改变了分隔符。其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。


        三、创建定时任务

          create event run_event
          on schedule every 1 minute
          on completion preserve disable
          do call test_procedure ();
          复制

          1、create event day_event:是创建名为run_event的事件

          2、创建周期定时的规则,意思是每分钟执行一次

          3、on completion preserve disable是表示创建后并不开始生效

          4、do call test_procedure ()是该event(事件)的操作内容


          四、定时任务操作


          1、查看定期任务

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


            2、开启或关闭定时任务

              alter event run_event on completion preserve enable;  开启定时任务
              alter event run_event on completion preserve disable; 关闭定时任务
              复制


              五、定时规则


              1、周期执行(EVERY)

              单位有:second、minute、hour、day、week(周)、quarter(季度)、month、year

                on schedule every 1 week //每周执行1次
                复制


                2、在具体某个时间执行(AT)

                  on schedule at current_timestamp()+interval 5 day //5天后执行
                  on schedule at '2019-01-01 00:00:00' //在2019年1月1日,0点整执行
                  复制


                  3、在某个时间段执行(STARTS ENDS)

                    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天
                    复制



                    点击进入公众号,了解更多内容!


                    点个在看你最好看


                    文章转载自纪鑫鑫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                    评论