Events are run by the scheduler, which is not started by default. Using SHOW PROCESSLIST is possible to check whether it is started. If not, run the command

 SET GLOBAL event_scheduler = ON;

to run it.


For those wondering how to enable it by default at startup, add the following to your config file (my.ini, my.cnf):

#Event scheduler can be set to 1 (On), 0 (Off), or Disabled
event_scheduler=1

Restart of the service is required in this case, so if you want minimal disruption, add this to the config file, and then run the SQL:

SET GLOBAL event_scheduler = ON;

That way, it will run for the current process, and if the server is restarted it will still work.

Note that this doesn't work if the event_scheduler was set to disabled. In that case the only option is to restart the service.