SHOW EVENTS
[{FROM | IN} schema_name]
[LIKE 'pattern' | WHERE expr]
该语句显示事件管理器事件的信息,这些事件在 第 27.4 节“使用事件调度器” 中讨论。它需要数据库的 EVENT
权限,以便从中显示事件。
在其最简单的形式中,SHOW EVENTS
列出了当前模式中的所有事件:
mysql> SELECT CURRENT_USER(), SCHEMA();
+----------------+----------+
| CURRENT_USER() | SCHEMA() |
+----------------+----------+
| jon@ghidora | myschema |
+----------------+----------+
1 row in set (0.00 sec)
mysql> SHOW EVENTS\G
*************************** 1. row ***************************
Db: myschema
Name: e_daily
Definer: jon@ghidora
Time zone: SYSTEM
Type: RECURRING
Execute at: NULL
Interval value: 1
Interval field: DAY
Starts: 2018-08-08 11:06:34
Ends: NULL
Status: ENABLED
Originator: 1
character_set_client: utf8mb4
collation_connection: utf8mb4_0900_ai_ci
Database Collation: utf8mb4_0900_ai_ci
要查看特定模式的事件,请使用 FROM
子句。例如,要查看 test
模式的事件,请使用以下语句:
SHOW EVENTS FROM test;
如果存在,LIKE
子句指定要匹配的事件名称。WHERE
子句可以用于使用更一般的条件选择行,如 第 28.8 节“SHOW 语句的扩展” 中所讨论的那样。
SHOW EVENTS
输出具有以下列:
-
Db
事件所属的模式(数据库)的名称。
-
Name
事件的名称。
-
Definer
创建事件的用户账户,以
'
格式表示。user_name
'@'host_name
' -
Time zone
事件的时区,该时区用于事件的调度和执行中。默认值为
SYSTEM
。 -
Type
事件的重复类型,either
ONE TIME
(瞬态)或RECURRING
(重复)。 -
Execute At
对于瞬态事件,这是
DATETIME
值,指定在AT
子句中,或者是最后一个ALTER EVENT
语句修改事件时的值。该列中的值反映了AT
子句中的任何INTERVAL
值的添加或减少。例如,如果事件是使用ON SCHEDULE AT CURRENT_TIMESTAMP + '1:6' DAY_HOUR
创建的,并且事件是在 2018-02-09 14:05:30 创建的,那么该列中的值将是'2018-02-10 20:05:30'
。如果事件的定时是由EVERY
子句而不是AT
子句确定的(即事件是重复的),那么该列中的值将是NULL
。 -
Interval Value
对于重复事件,等待之间的间隔数。对于瞬态事件,该列的值始终为
NULL
。 -
Interval Field
重复事件等待的时间单位。对于瞬态事件,该列的值始终为
NULL
。 -
Starts
重复事件的开始日期和时间。该值显示为
DATETIME
值,并且如果事件没有定义开始日期和时间,则该列的值为NULL
。对于瞬态事件,该列的值始终为NULL
。对于重复事件,其定义包括STARTS
子句,该列包含相应的DATETIME
值。与Execute At
列一样,该值解决了任何表达式的使用。如果事件的定义中没有STARTS
子句影响事件的定时,该列的值为NULL
。 -
Ends
对于具有
ENDS
子句的重复事件,其定义包括该列中的相应DATETIME
值。与Execute At
列一样,该值解析了用于表达式。如果没有影响事件计时的ENDS
子句,该列为NULL
。 -
状态
事件状态。其中之一:
ENABLED
、DISABLED
或REPLICA_SIDE_DISABLED
。REPLICA_SIDE_DISABLED
表明事件的创建发生在另一个 MySQL 服务器上,该服务器作为复制源,并复制到当前 MySQL 服务器,该服务器作为副本,但事件当前不在副本上执行。有关更多信息,请参阅第 19.5.1.16 节,“复制 invoked 特征”。REPLICA_SIDE_DISABLED
取代了在 MySQL 8.2.0 中弃用的SLAVESIDE_DISABLED
。 -
originator
创建事件的 MySQL 服务器的服务器 ID,在复制中使用。该值可能会被
ALTER EVENT
更新为执行该语句的服务器的服务器 ID,如果在源服务器上执行。默认值为 0。 -
character_set_client
创建事件时的会话值
character_set_client
系统变量。 -
collation_connection
创建事件时的会话值
collation_connection
系统变量。 -
数据库排序规则
与事件关联的数据库的排序规则。
有关REPLICA_SIDE_DISABLED
和originator
列的更多信息,请参阅第 19.5.1.16 节,“复制 invoked 特征”。
由SHOW EVENTS
显示的时间以事件时区表示,如第 27.4.4 节,“事件元数据”所讨论的那样。
事件信息也可以从INFORMATION_SCHEMA
EVENTS
表中获得。请参阅第 28.3.14 节,“INFORMATION_SCHEMA EVENTS 表”。
事件操作语句不会在SHOW EVENTS
的输出中显示。使用SHOW CREATE EVENT
或INFORMATION_SCHEMA
EVENTS
表。