首批通过分布式安全可靠测评,为关键业务系统打造
information_schema.events
更新时间:2026-07-15 20:42:46
说明
- 在 V4.3.x 版本中,该视图从 V4.3.2 版本开始引入。
- 在 V4.2.x 版本中,该视图从 V4.2.1 BP5 版本和 V4.2.4 版本开始引入。
功能描述
视图 information_schema.events 用于记录所有 Event 信息。
字段说明
| 字段名称 | 类型 | 是否可以为 NULL | 描述 |
|---|---|---|---|
| EVENT_CATALOG | varchar(64) | NO | 事件所属的目录名称,此值始终为 def。def 是一个通用的标识符,用来指明系统视图中的对象属于默认目录。 |
| EVENT_SCHEMA | varchar(128) | NO | 事件所属的数据库名称。 |
| EVENT_NAME | varchar(64) | NO | 事件的名称。 |
| DEFINER | varchar(93) | NO | 创建事件的用户。 |
| TIME_ZONE | varchar(64) | NO | 事件时区,即用于调度事件的时区,以及在事件执行时生效的时区。默认值为 SYSTEM。 |
| EVENT_BODY | varchar(8) | NO | 事件 DO 子句中语句所使用的语言。该值始终为 SQL。 |
| EVENT_DEFINITION | mediumtext | YES | 构成事件 DO 子句的 SQL 语句的文本。 |
| EVENT_TYPE | varchar(9) | NO | 事件重复类型,要么是一次性的,要么是重复性的。 |
| EXECUTE_AT | datetime | YES | 对于一次性事件的开始时间,可重复时间为 NULL。 |
| INTERVAL_VALUE | varchar(256) | YES | 对于重复性事件,表示在事件执行之间要等待的间隔次数。对于一次性事件,值始终为 NULL。 |
| INTERVAL_FIELD | varchar(18) | YES | 重复性事件在重复前等待的时间单位所使用的时间间隔。对于临时事件,值始终为 NULL。 |
| SQL_MODE | text | NO | 创建或修改事件时生效的 SQL 模式,以及事件执行时使用的 SQL 模式。 |
| STARTS | datetime | YES | 周期性事件的开始日期和时间。如果事件没有定义开始日期和时间,则为 NULL。对于临时事件,此列始终为 NULL。 |
| ENDS | datetime | YES | 对于定义中包含 ENDS 子句的周期性事件,此列包含相应的 DATETIME 值。与 EXECUTE_AT 列一样,此值解析任何使用的表达式。如果没有影响事件时机的 ENDS 子句,此列为 NULL。 |
| STATUS | varchar(18) | NO | 事件状态。取值为:
|
| ON_COMPLETION | varchar(12) | NO | 取值为:
|
| CREATED | datetime | YES | 事件创建的日期和时间。 |
| LAST_ALTERED | datetime | YES | 事件上次修改的日期和时间。 |
| LAST_EXECUTED | datetime | YES | 事件上次执行的日期和时间。如果事件从未执行过,此列为 NULL。LAST_EXECUTED 表示事件开始的时间。因而,ENDS 列的值永远不会小于 LAST_EXECUTED。 |
| EVENT_COMMENT | text | YES | 如果事件有注释,则为注释的文本。如果没有,则此值为空。 |
| ORIGINATOR | bigint(0) unsigned | NO | 创建事件的 MySQL 服务器的服务 ID 在复制中使用。如果在复制源上执行 ALTER EVENT 语句,该值可能会更新为该语句发生时服务器的服务 ID。默认值为 0。 |
| CHARACTER_SET_CLIENT | varchar(32) | NO | 当创建事件时,会话的 character_set_client 系统变量的值。 |
| COLLATION_CONNECTION | varchar(32) | NO | 当创建事件时,会话的 collation_connection 系统变量的值。 |
| DATABASE_COLLATION | varchar(32) | NO | 与事件关联的数据库的排序规则。 |
查询示例
创建一个名为
e_1的事件。这个事件被调度在 3000 年 1 月 1 日 00:00:00 执行,并执行一个 SQL 语句SELECT 1。obclient> CREATE EVENT e_1 ON SCHEDULE AT "3000-01-01 00:00:00" DO SELECT 1;查询
e_1事件的所有信息。obclient> SELECT * FROM information_schema.events\G查询结果如下:
*************************** 1. row *************************** EVENT_CATALOG: def EVENT_SCHEMA: test EVENT_NAME: e_1 DEFINER: root@% TIME_ZONE: SYSTEM EVENT_BODY: SQL EVENT_DEFINITION: select 1; EVENT_TYPE: ONE TIME EXECUTE_AT: 3000-01-01 00:00:00 INTERVAL_VALUE: NULL INTERVAL_FIELD: NULL SQL_MODE: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION STARTS: NULL ENDS: NULL STATUS: ENABLED ON_COMPLETION: NOT PRESERVE CREATED: 2024-06-26 11:29:08 LAST_ALTERED: 2024-06-26 11:29:08 LAST_EXECUTED: NULL EVENT_COMMENT: NULL ORIGINATOR: NULL CHARACTER_SET_CLIENT: NULL COLLATION_CONNECTION: NULL DATABASE_COLLATION: NULL 1 row in set (0.002 sec)