MySQL 8.3 Release Notes
事件计划程序将事件执行终止于错误或警告的信息写入 MySQL 服务器的错误日志中。请参阅 第 27.4.6 节,“事件计划程序和 MySQL 权限” 以获取示例。
要获取事件计划程序的状态信息以进行调试和故障排除,请运行 mysqladmin debug(请参阅 第 6.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 上写入应用程序事件日志。对于频繁执行的事件,这可能会导致许多日志消息。例如,对于 SELECT ... INTO
语句,如果查询不返回行,则会出现警告,错误代码为 1329(var_list
无数据
),变量值保持不变。如果查询返回多行,则会出现错误 1172(结果包含多行
)。对于这两种情况,您可以通过声明条件处理程序来避免警告被记录;请参阅 第 15.6.7.2 节,“DECLARE ... HANDLER 语句”。对于可能检索多行的语句,另一种策略是使用 LIMIT 1
限制结果集为单行。