mysql创建定时器(event)

来源:互联网 发布:java定义未知一维数组 编辑:程序博客网 时间:2024/06/06 03:38

mysql创建定时器(event)步骤。

注:mysql版本是从5.1版本开始支持event的相关存储程序。但是支持event使用功能是在5.1.6及其之后的版本。

1、select version();

      查看当前使用的mysql版本。

2、  showVARIABLES LIKE '%sche%';

     查看是否开启event与开启event。event功能默认是关闭的,可以使用上面的语句来看event的状态,如果是OFF或者0,表示是关闭的。

3、创建定时器的过程

   3.1、创建event要调用的存储过程test_proce

        delimiter //

        drop procedure if exists test_proce//

        create procedure test_proce()

        begin

           UPDATE t_pe_member SET validate_code_number = 0; //这里写入该存储过程需要执行的sql语句

       end//

       delimiter ;

3.2、 set globalevent_scheduler='on';

          开启event(要使定时起作用,MySQL的常量GLOBAL event_scheduler必须为on或者是1),然后再次执行show variables like 'event_scheduler';查看event是否被开启。

3.3、创建事件test_event(其作用:每天12点自动调用test_proce()存储过程)

      drop event if exists test_event;

      create event test_event                          

      on schedule every1 day starts '2015-04-15 00:00:00'

      on completion [not]preserve [enable | disable]

      do call test_proce();

         completion当单次计划任务执行完毕后或当重复性的计划任务执行到了ends阶段。而声明preserve的作用是使事件在执行完毕后不会被Drop掉。

        [enable | disable] enable表示在创建事件的时候就开启事件 disable则是不开启事件 ,创建event的时候是默认开启的,也可以手动开启和关闭event。

3.4、开启事件test_event

       alter event test_event on completion preserve enable;

3.5、关闭事件test_event

       alter event test_event on completion preserve disable;

4.查看自己创建的event

      如果要查看更加详细的信息,你需要root用户的授权,如果是你自己的数据库你可以用下面语句查看

      select * from  mysql.event;

0 0