Created an event using CREATE EVENT.
It exists:
+---------+-------------------------+----------------+-----------+-----------+------------+----------------+----------------+---------------------+------+---------+------------+----------------------+----------------------+--------------------+
| Db | Name | Definer | Time zone | Type | Execute at | Interval value | Interval field | Starts | Ends | Status | Originator | character_set_client | collation_connection | Database Collation |
+---------+-------------------------+----------------+-----------+-----------+------------+----------------+----------------+---------------------+------+---------+------------+----------------------+----------------------+--------------------+
| postfix | clean_spam_domains_TEST | root@localhost | SYSTEM | RECURRING | NULL | 5 | SECOND | 2017-06-26 12:33:22 | NULL | ENABLED | 0 | utf8 | utf8_general_ci | latin1_swedish_ci |
+---------+-------------------------+----------------+-----------+-----------+------------+----------------+----------------+---------------------+------+---------+------------+----------------------+----------------------+--------------------+
To confirm it is working, I turned on logging:
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';
So, I am expecting to see the execution of the event in the log once every 5 seconds.
I don't.
Should I? Or does this type of event not show in the general_log?
Update:
As requested, here is the output of mysqladmin debug:
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 : 1
Data locked : NO
Attempting lock : NO
LLA : create_event:170
LUA : create_event:174
WOC : NO
Next activation : never
Create statement:
CREATE EVENT clean_spam_domains_TEST
ON SCHEDULE EVERY 5 SECOND
delimiter $$
DO BEGIN
DROP TABLE IF EXISTS deathrow;
CREATE TEMPORARY TABLE deathrow (
SELECT
whitelist_id
FROM
postfix.whitelist
LEFT JOIN
free_email_providers ON whitelist.whitelist_domain = free_email_providers.free_email_providers_domain
WHERE
free_email_providers_id IS NOT NULL);
DELETE FROM whitelist
WHERE
whitelist.whitelist_id IN (SELECT
whitelist_id
FROM
deathrow);
END;
delimiter ;