如何在MySQL中检查事件调度器状态?

How to check event scheduler status in MySQL?

提问人:GorvGoyl 提问时间:8/26/2016 最后编辑:Super Kai - Kazuya ItoGorvGoyl 更新时间:11/18/2023 访问量:72362

问:

在 MySQL 中,我们可以通过以下查询来启用事件调度器:

SET GLOBAL event_scheduler = ON;

同样,要关闭调度程序:

SET GLOBAL event_scheduler = OFF;

但是,是否有任何查询/方法可以检查它是否是或的状态?event_schedulerONOFF

数据库 事件 调度程序 mysql-event

评论


答:

55赞 Nick 8/26/2016 #1

使用 SHOW VARIABLES

SHOW VARIABLES
WHERE VARIABLE_NAME = 'event_scheduler'
3赞 Garr Godfrey 9/10/2018 #2

这也应该有效:

select @@global.event_scheduler = 'ON' 

这在存储过程中更容易使用,在存储过程中,您可能想知道它是否处于打开状态,然后再打开它。请注意,我在使用 ON 或 1 打开 Event_Scheduler 后在 MySQL 5.7 上对此进行了测试。在这两种情况下,查询变量都返回“ON”。

另请注意,引号用于查询,但不用于设置变量。对你来说有点mysql的怪异。

6赞 Sheikh Wasiu Al Hasib 2/7/2022 #3

使用以下命令查看事件状态,您可以选择其中任何一个。

SELECT @@global.event_scheduler
or
SHOW variables WHERE variable_name ='event_scheduler'

启用事件临时 ON 或 OFF

SET GLOBAL event_scheduler = OFF;
SET GLOBAL event_scheduler = ON;

对于永久设置,请转到 my.cnf 或 my.ini 或在 /etc/my.cnf.d/server.cnf 文件中,并在 [mysqld] 下设置 event_scheduler = ON 或 event_scheduler=OFF,具体取决于您的要求。

Event Scheduler ON event restart mysql

0赞 Super Kai - Kazuya Ito 11/18/2023 #4

使用下面的 SQL,您可以检查 的状态。*该文档解释了全局变量:event_schedulerevent_scheduler

mysql> SELECT @@GLOBAL.event_scheduler; 
+--------------------------+
| @@GLOBAL.event_scheduler |
+--------------------------+
| ON                       |
+--------------------------+

使用下面的 SQL,您还可以检查 的状态。*文档解释声明:event_schedulerSHOW VARIABLES

mysql> SHOW VARIABLES WHERE VARIABLE_NAME = 'event_scheduler';
+-----------------+----------------+
| VARIABLE_NAME   | VARIABLE_VALUE |
+-----------------+----------------+
| event_scheduler | ON             |
+-----------------+----------------+

此外,使用下面的 SQL,您还可以检查 is 或 .*如果 是 ,出现,如果是 ,则不出现,文档解释语句:event_schedulerONOFFevent_schedulerONevent_schedulerevent_schedulerOFFevent_schedulerSHOW PROCESSLIST

SHOW PROCESSLIST;

艺术

SHOW FULL PROCESSLIST;