如何查看mysql定时器的事件

如何查看mysql定时器的事件,第1张

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6182632.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存