23.4.4 事件元数据

要获取有关事件的元数据:

事件调度程序时间 table 示

MySQL 中的每个会话都有一个会话时区(STZ)。会话time_zone值是在会话开始时从服务器的全局time_zone值初始化的,但可以在会话期间更改。

执行CREATE EVENTALTER EVENT语句时当前的会话时区用于解释事件定义中指定的时间。这就是事件时区(ETZ);也就是说,用于事件调度的时区,在事件执行时有效。

为了在mysql.eventtable 中 table 示事件信息,将execute_atstartsends时间转换为 UTC 并与事件时区一起存储。这使得事件执行可以按定义进行,而不管服务器时区的任何后续更改或夏令时影响如何。 last_executed时间也存储在 UTC 中。

如果您从mysql.event中选择信息,则刚才提到的时间将作为 UTC 值检索。也可以通过从INFORMATION_SCHEMA.EVENTStable 或SHOW EVENTS中进行选择来获得这些时间,但它们将报告为 ETZ 值。这些来源提供的其他时间指示事件的创建时间或最后更改时间。这些显示为 STZ 值。下 table 总结了事件时间。

Valuemysql.eventINFORMATION_SCHEMA.EVENTSSHOW EVENTS
Execute atUTCETZETZ
StartsUTCETZETZ
EndsUTCETZETZ
Last executedUTCETZn/a
CreatedSTZSTZn/a
Last alteredSTZSTZn/a