到目前为止,我未能成功触发任何预定事件。
- MySQL 5.7.14
- 全局变量 event_scheduler 开启
- Processlist 显示状态为“等待空队列”的 event_scheduler
- 这是一个 server_id=2 的主服务器,被复制到从服务器。
以下查询用于创建计划事件以清除 session 表(这是逐字记录的)。查询本身有效。
CREATE EVENT cleanup_session_data
ON SCHEDULE EVERY 1 DAY
ON COMPLETION PRESERVE
DISABLE ON SLAVE
DO
DELETE FROM session_data WHERE created_at < DATE_SUB(NOW(), INTERVAL 1 DAY);
但是,Scheduled 事件根本不会触发。
最佳答案
原来答案是删除
DISABLE ON SLAVE
要么是我自己的误会,要么就是没有达到预期的效果。不包括事件状态是“ENABLED”,而包括它是“SLAVESIDE_DISABLED”
事件现在按预期触发。它们也不会复制到 SLAVE。
关于MySQL 预定事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41872344/