您的位置:首页 > 数据库 > MySQL

mysql创建定时器(event)

2015-07-14 17:10 681 查看
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: