日期:2014-05-16  浏览次数:20772 次

mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间

mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间

?
转自:http://blog.sina.com.cn/s/blog_6d39ac7e01017sd6.html

注:mysql版本是从5.1开始才支持event的。如果你的版本低于5.1就先升级版本吧。

查看版本的方法有很多,这里只给大家提供一个????select version();

1.查看是否开启event与开启event。

1.1、MySQL event功能默认是关闭的,可以使用下面的语句来看evevt的状态,如果是OFF或者0,表示是关闭的。

??????????????show VARIABLES?LIKE?'%sche%';
1.2、开启evevt功能
????????????SET?GLOBAL?event_scheduler = 1;
2.创建定时器的过程
2.1、创建测试表test
drop table if exists test;
create table test
(
id int(11) not null auto_increment primary key,
time datetime not null
) engine=innodb default charset=utf8;
2.2、创建evevt要调用的存储过程test_proce
delimiter //?-- 定义分隔符,必须要有,可以不是//
drop procedure if exists test_proce;
create procedure test_proce()
begin
insert into test(time) values(now());
end//注意看清楚了,这个end后面有你在前面定义的分割符号
delimiter //
2.3、开启evevt(要使定时起作用,MySQL的常量GLOBAL event_scheduler必须为on或者是1)
执行show variables like 'event_scheduler';查看evevt是否开启;
若没开启执行set global event_scheduler='on';
2.4、创建事件test_event(其作用:每隔一秒自动调用test_proce()存储过程)
drop event if exists test_event;
create event test_event
on schedule every 1 second
on completion preserve disable
do call test_proce();
2.5、开启事件test_event
alter event test_event on completion preserve enable;
2.6、关闭事件test_event
alter event test_event on completion preserve disable;
2.7、查看表test
select * from test;
?
3.查看自己创建的event
如果要查看更加详细的信息,你需要root用户的授权,如果是你自己的数据库你可以用下面语句查看
select * from??mysql.event;

4.event的时间设置
设置event很简单,但是麻烦的是如何设置执行的时间,网上找了一些,自己总结了一下。
先看语句,如下面这个
?????CREATE?EVENT test_event?ON
友情链接: 爱易网 云虚拟主机技术 云服务器技术 程序设计技术 开发网站 APP开发教程
Copyright © 2013-2024 爱易网页 当前在线:382人  网站在1时4分43秒内访问总人数:24838人 当前 38.12%  粤ICP备18100884号-2