扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在File - New Query Tab中通过以下SQL可以创建
10年积累的网站建设、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有息烽免费网站建设让你可以放心的选择与我们合作。
create event my_event on schedule every 1 minute do select now();
workbench的schemas窗格中看不到event, 可以在窗口中查询information_schema.event看到已经创建的event
select * from information_schema.events;
如果已经知道event的名称的话, 也可以在窗口中适用show create event查看:
show create event my_event;
另外, 5.6的版本默认不打开调度器, 通过查询mysql全局变量看是否开启, 同样在workbench中执行
show variables like '%event_scheduler%';
如果看到关闭状态:
event_scheduler OFF
可以在workbench中直接执行
set global event_scheduler=1;
临时打开调度器(重启mysqld服务失效), 重启生效需要修改my.cnf配置, 在[mysqld]下打开
event_scheduler = 1
如果是event已经创建, scheduler也已经打开却没有效果, 可以在mysql的error log(在my.cnf中配置log-error项, 默认在mysql的data文件夹中)中查查是否有错误, 可能导致event没有按预期执行
CREATE EVENT [事件名]
ON SCHEDULE EVERY 7 WEEK STARTS
'2014-05-14 04:00:00'
ON COMPLETION PRESERVE
ENABLE
DO
[要执行的sql语句]
mysql如何查看定时器有没有执行
1.查看是否开启evevt与开启evevt。
1.1、MySQL evevt功能默认是关闭的,可以使用下面的语句来看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//
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
首先在sql中查询计划事件的状态:SHOW
VARIABLES
LIKE
'event_scheduler'
如果返回的是off表示当前是关闭状态,如果是on当前已经开启了计划任务。
在mysql程序的目录下找到my.ini文件,添加一个项:event_scheduler
=
1
保存后重启mysql服务即可,重启服务可以在服务管理里面找到
也可以用脚本来实现:
mysql
event_scheduler
开启event_scheduler
sql指令:
SET
GLOBAL
event_scheduler
=
ON;
SET
@@global.event_scheduler
=
ON;
SET
GLOBAL
event_scheduler
=
1;
SET
@@global.event_scheduler
=
1;
相反,关闭event_scheduler指令:
SET
GLOBAL
event_scheduler
=
OFF;
SET
@@global.event_scheduler
=
OFF;
SET
GLOBAL
event_scheduler
=
0;
SET
@@global.event_scheduler
=
0;
mysql2012怎么创建事件调度器
类型说明符 数的范围 字节数
int -32768~32767 即-215~(215-1) 2
unsigned int 0~65535 即0~(216-1) 2
short int -32768~32767 即-215~(215-1) 2
unsigned short int 0~65535 即0~(216-1) 2
long int -2147483648~2147483647即-231~(231-1) 4
unsigned long 0~4294967295 即0~(232-1) 4
以13为例:
int型:
00 00 00 00 00 00 11 01
short int型:
00 00 00 00 00 00 11
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流