The Event Scheduler writes information about event execution that terminates with an error or warning to the MySQL Server's error log. See Section 24.4.6, “The Event Scheduler and MySQL Privileges” for an example.
To obtain information about the state of the Event Scheduler for debugging and troubleshooting purposes, run mysqladmin debug (see Section 4.5.2, “mysqladmin — Client for Administering a MySQL Server”); after running this command, the server's error log contains output relating to the Event Scheduler, similar to what is shown here:
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 : init_scheduler:313
LUA : init_scheduler:318
WOC : NO
Workers : 0
Executed : 0
Data locked: NO
Event queue status:
Element count : 1
Data locked : NO
Attempting lock : NO
LLA : init_queue:148
LUA : init_queue:168
WOC : NO
Next activation : 0000-00-00 00:00:00
In statements that occur as part of events executed by the Event
Scheduler, diagnostics messages (not only errors, but also
warnings) are written to the error log, and, on Windows, to the
application event log. For frequently executed events, it is
possible for this to result in many logged messages. For example,
for SELECT ... INTO
statements, if the
query returns no rows, a warning with error code 1329 occurs
(var_list
No data
), and the variable values remain
unchanged. If the query returns multiple rows, error 1172 occurs
(Result consisted of more than one row
). For
either condition, you can avoid having the warnings be logged by
declaring a condition handler; see
Section 13.6.7.2, “DECLARE ... HANDLER Syntax”. For statements that may
retrieve multiple rows, another strategy is to use LIMIT
1
to limit the result set to a single row.