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

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

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

mysql cron job-scheduling
6个回答
32
投票

很简单

SHOW EVENTS
列出了当前模式中的所有事件

要查看特定模式的事件,请使用 FROM 子句。例如,要查看测试模式的事件,请使用以下语句:

SHOW EVENTS FROM test;

20
投票

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';

14
投票

显示事件的更多细节

SELECT * FROM information_schema.EVENTS

4
投票
SHOW EVENTS\G

这将为您带来所有现有事件的列表。对于Show Events语法:http://dev.mysql.com/doc/refman/5.1/en/show-events.html


3
投票
show events;

将显示所有事件。


0
投票

如果你想查看 MySQL 中所有数据库的所有事件调度程序。

SELECT * FROM information_schema.EVENTS;

如果您想查看 MySQL 中特定数据库的所有事件调度程序。

SHOW EVENTS FROM 'your_database_name';

Event Scheduler 特定查询:

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';`
© www.soinside.com 2019 - 2024. All rights reserved.