13.7.5.18 SHOW EVENTSStatements

SHOW EVENTS
    [{FROM | IN} schema_name]
    [LIKE 'pattern' | WHERE expr]

该语句显示有关事件 Management 器事件的信息,这些信息在第 23.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: utf8
collation_connection: utf8_general_ci
  Database Collation: latin1_swedish_ci

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

SHOW EVENTS FROM test;

LIKE子句(如果存在)指示要匹配的事件名称。可以提供WHERE子句以使用更一般的条件选择行,如第 24.35 节,“ SHOW 语句的扩展”中所述。

SHOW EVENTS输出包含以下列:

  • Db

事件所属的架构(数据库)的名称。

  • Name

事件的名称。

  • Definer

创建事件的用户的帐户,格式为'user_name'@'host_name'

  • Time zone

事件时区,它是用于安排事件的时区,并且在事件执行时有效。默认值为SYSTEM

  • Type

事件重复类型为ONE TIME(瞬态)或RECURRING(重复)。

  • Execute At

对于一次性事件,这是在用于创建事件的CREATE EVENT语句的AT子句中或在修改事件的最后一个ALTER EVENT语句的AT子句中指定的DATETIME值。此列中显示的值反映事件的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

对于重复发生的事件,是两次事件执行之间要 await 的时间间隔数。对于瞬态事件,此列的值始终为NULL

  • Interval Field

重复事件在重复之前 await 的时间间隔所用的时间单位。对于瞬态事件,此列的值始终为NULL

  • Starts

重复活动的开始日期和时间。如果未为事件定义开始日期和时间,则显示为DATETIME值,显示为NULL。对于瞬态事件,此列始终为NULL。对于其定义包含STARTS子句的重复发生的事件,此列包含相应的DATETIME值。与Execute At列一样,此值可解析所有使用的 table 达式。如果没有STARTS子句影响事件的时间,则此列为NULL

  • Ends

对于其定义包含ENDS子句的重复事件,此列包含相应的DATETIME值。与Execute At列一样,此值可解析所有使用的 table 达式。如果没有ENDS子句影响事件的时间,则此列为NULL

  • Status

事件状态。 ENABLEDDISABLEDSLAVESIDE_DISABLED之一。 SLAVESIDE_DISABLEDtable 示事件的创建发生在另一个充当复制源的 MySQL 服务器上,并复制到充当副本的当前 MySQL 服务器上,但是该事件当前不在副本上执行。有关更多信息,请参见第 16.4.1.16 节,“调用功能的复制”。信息。

  • Originator

创建事件的 MySQL 服务器的服务器 ID;用于复制。如果在源服务器上执行此值,则可以通过ALTER EVENT将其更新为该语句所在的服务器的服务器 ID。默认值为 0.

  • character_set_client

创建事件时character_set_client系统变量的会话值。

  • collation_connection

创建事件时collation_connection系统变量的会话值。

  • Database Collation

与事件关联的数据库的整理。

有关SLAVESIDE_DISABLEDOriginator列的更多信息,请参见第 16.4.1.16 节,“调用功能的复制”

第 23.4.4 节“事件元数据”中所述,在事件时区中给出了由SHOW EVENTS显示的时间。

INFORMATION_SCHEMA EVENTStable 中也提供了事件信息。参见第 24.8 节““ INFORMATION_SCHEMA 事件”table”

事件动作语句未显示在SHOW EVENTS的输出中。使用显示创建事件INFORMATION_SCHEMA EVENTStable。