MySQL 8.0 参考手册  / 第25章存储对象  / 25.4 使用事件调度器  /  20.4.5 事件调度器状态

20.4.5 事件调度器状态

Event Scheduler 将有关以错误或警告终止的事件执行的信息写入 MySQL 服务器的错误日志。有关示例,请参见第 20.4.6 节,“事件调度程序和 MySQL 特权”

要获取有关事件调度​​程序状态的信息以进行调试和故障排除,请运行mysqladmin debug(请参阅第 4.5.2 节,“mysqladmin — MySQL 服务器管理程序”);运行此命令后,服务器的错误日志包含与事件调度程序相关的输出,类似于此处显示的内容:

Events status:
LLA = Last Locked At  LUA = Last Unlocked At
WOC = Waiting On Condition  DL = Data Locked

Event scheduler status:
State      : INITIALIZED
Thread id  : 0
LLA        : n/a:0
LUA        : n/a:0
WOC        : NO
Workers    : 0
Executed   : 0
Data locked: NO

Event queue status:
Element count   : 0
Data locked     : NO
Attempting lock : NO
LLA             : init_queue:95
LUA             : init_queue:103
WOC             : NO
Next activation : never

在作为事件计划程序执行的事件的一部分出现的语句中,诊断消息(不仅是错误,还有警告)被写入错误日志,并且在 Windows 上,写入应用程序事件日志。对于频繁执行的事件,这可能会导致记录许多消息。例如,对于语句,如果查询没有返回任何行,则会出现错误代码为 1329 的警告 ( ),并且变量值保持不变。如果查询返回多行,则会出现错误 1172 ( )。对于任何一种情况,您都可以通过声明条件处理程序来避免记录警告;参见 第 13.6.7.2 节,“DECLARE ... HANDLER 语句”SELECT ... INTO var_listNo dataResult consisted of more than one row. 对于可能检索多行的语句,另一种策略是使用LIMIT 1将结果集限制为单行。