如何检查MySQL中的事件调度程序状态?

问题描述 投票:0回答:4

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

SET GLOBAL event_scheduler = ON;

同样,要关闭调度程序:

SET GLOBAL event_scheduler = OFF;

但是,有没有任何查询/方法可以检查

event_scheduler
的状态,无论是
ON
还是
OFF

mysql database events scheduler mysql-event
4个回答
54
投票

使用 显示变量

SHOW VARIABLES
WHERE VARIABLE_NAME = 'event_scheduler'

5
投票

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

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

暂时启用或关闭事件

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。


3
投票

这也应该有效:

select @@global.event_scheduler = 'ON' 

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

另请注意,引号用于查询,但不用于设置变量。给你一点 mysql 的奇怪之处。


0
投票

通过下面的 SQL,您可以检查

event_scheduler
ON
还是
OFF
。 *文档解释了
SHOW VARIABLES
声明:

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

此外,通过下面的SQL,您还可以检查

event_scheduler
ON
还是
OFF
。 *如果
event_scheduler
ON
,则
event_scheduler
出现,如果
event_scheduler
OFF
,则
event_scheduler
不出现,并且 文档 解释
SHOW PROCESSLIST
声明:

SHOW PROCESSLIST;

或者:

SHOW FULL PROCESSLIST;
© www.soinside.com 2019 - 2024. All rights reserved.