Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

15.7.7.19 显示事件语句

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

  • 状态

    事件状态。其中之一:ENABLEDDISABLEDREPLICA_SIDE_DISABLEDREPLICA_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_DISABLEDoriginator列的更多信息,请参阅第 19.5.1.16 节,“复制 invoked 特征”

SHOW EVENTS显示的时间以事件时区表示,如第 27.4.4 节,“事件元数据”所讨论的那样。

事件信息也可以从INFORMATION_SCHEMA EVENTS表中获得。请参阅第 28.3.14 节,“INFORMATION_SCHEMA EVENTS 表”

事件操作语句不会在SHOW EVENTS的输出中显示。使用SHOW CREATE EVENTINFORMATION_SCHEMA EVENTS表。