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;