如何查看我的数据库上运行的所有MySQL事件?

5m1hhzi4  于 2023-11-16  发布在  Mysql
关注(0)|答案(7)|浏览(128)

我有一个MySQL数据库。我正在运行两个MySQL事件。我需要删除一个。我不记得它的名称。我该怎么办?

cfh9epnr

cfh9epnr1#

它的简单SHOW EVENTS列出了当前模式中的所有事件
要查看特定架构的事件,请使用FROM子句。例如,要查看测试架构的事件,请使用以下语句:

SHOW EVENTS FROM test;

字符串

yqyhoc1h

yqyhoc1h2#

information_schema.EVENTS表是开始的地方。

USE information_schema;

DESCRIBE EVENTS;
+----------------------+---------------+------+-----+---------------------+-------+
| Field                | Type          | Null | Key | Default             | Extra |
+----------------------+---------------+------+-----+---------------------+-------+
| EVENT_CATALOG        | varchar(64)   | YES  |     | NULL                |       |
| EVENT_SCHEMA         | varchar(64)   | NO   |     |                     |       |
| EVENT_NAME           | varchar(64)   | NO   |     |                     |       |
| DEFINER              | varchar(77)   | NO   |     |                     |       |
| TIME_ZONE            | varchar(64)   | NO   |     |                     |       |
| EVENT_BODY           | varchar(8)    | NO   |     |                     |       |
| EVENT_DEFINITION     | longtext      | NO   |     | NULL                |       |
| EVENT_TYPE           | varchar(9)    | NO   |     |                     |       |
| EXECUTE_AT           | datetime      | YES  |     | NULL                |       |
| INTERVAL_VALUE       | varchar(256)  | YES  |     | NULL                |       |
| INTERVAL_FIELD       | varchar(18)   | YES  |     | NULL                |       |
| SQL_MODE             | varchar(8192) | NO   |     |                     |       |
| STARTS               | datetime      | YES  |     | NULL                |       |
| ENDS                 | datetime      | YES  |     | NULL                |       |
| STATUS               | varchar(18)   | NO   |     |                     |       |
| ON_COMPLETION        | varchar(12)   | NO   |     |                     |       |
| CREATED              | datetime      | NO   |     | 0000-00-00 00:00:00 |       |
| LAST_ALTERED         | datetime      | NO   |     | 0000-00-00 00:00:00 |       |
| LAST_EXECUTED        | datetime      | YES  |     | NULL                |       |
| EVENT_COMMENT        | varchar(64)   | NO   |     |                     |       |
| ORIGINATOR           | bigint(10)    | NO   |     | 0                   |       |
| CHARACTER_SET_CLIENT | varchar(32)   | NO   |     |                     |       |
| COLLATION_CONNECTION | varchar(32)   | NO   |     |                     |       |
| DATABASE_COLLATION   | varchar(32)   | NO   |     |                     |       |
+----------------------+---------------+------+-----+---------------------+-------+

SELECT EVENT_NAME FROM EVENTS WHERE EVENT_SCHEMA = 'your_database_name';

字符串

kognpnkq

kognpnkq3#

显示事件详情

SELECT * FROM information_schema.EVENTS

字符串

klsxnrf1

klsxnrf14#

SHOW EVENTS\G

字符串
这将为您带来所有现有事件的列表。对于显示事件选项:http://dev.mysql.com/doc/refman/5.1/en/show-events.html

hzbexzde

hzbexzde5#

show events;

字符串
将显示所有事件。

j7dteeu8

j7dteeu86#

如果您想查看MySQL中所有数据库的所有事件解析器。

SELECT * FROM information_schema.EVENTS;

字符串

如果您想查看MySQL中特定数据库的所有事件查询器。

SHOW EVENTS FROM 'your_database_name';

事件代理具体查询:

SELECT EVENT_DEFINITION
FROM information_schema.EVENTS
WHERE EVENT_NAME = 'your_event_name';

数据库特定事件查询:

SELECT EVENT_DEFINITION
FROM information_schema.EVENTS
WHERE EVENT_NAME = 'your_event_name'
AND EVENT_SCHEMA = 'your_database_name';

fcg9iug3

fcg9iug37#

您可以使用下面的SQL显示所有事件。* The doc解释了INFORMATION_SCHEMA.events表,我建议使用\G,它可以更清楚地显示它们,下面的SQL可以显示比我最后解释的SHOW EVENTS更多的细节:

SELECT * FROM INFORMATION_SCHEMA.EVENTS;

字符串
或者:

SELECT * FROM INFORMATION_SCHEMA.EVENTS\G


并且,您可以使用下面的SQL显示当前运行的所有事件:

SELECT * FROM INFORMATION_SCHEMA.events WHERE STATUS = 'ENABLED';


并且,您可以使用下面的SQL显示当前未运行的所有事件:

SELECT * FROM INFORMATION_SCHEMA.events WHERE STATUS = 'DISABLED';


并且,您可以使用USE显示apple数据库选择apple数据库的事件。* The doc解释了SHOW EVENTS,我建议使用\G,它可以更清楚地显示它们:

USE apple;
SHOW EVENTS;


或者:

USE apple;
SHOW EVENTS\G


或者:

USE apple;
SHOW EVENTS FROM apple;


或者:

USE apple;
SHOW EVENTS FROM apple\G


并且,您可以使用USE显示apple数据库选择apple数据库当前运行的事件:

USE apple;
SHOW EVENTS WHERE STATUS = 'ENABLED';


并且,您可以使用USE显示apple数据库当前未运行的事件,选择apple数据库:

USE apple;
SHOW EVENTS WHERE STATUS = 'DISABLED';


并且,即使使用USE选择apple数据库,也可以显示orange数据库的事件:

USE apple;
SHOW EVENTS FROM orange;


并且,您可以显示apple数据库的事件,而不是使用USE选择任何一个数据库:

SHOW EVENTS FROM apple;


请注意,如果您运行下面的SQL,而不选择任何一个带有USE的数据库:

SHOW EVENTS;


然后,下面是错误:
错误1046(3D000):未选择数据库

相关问题