我的 MySQL 事件永远不想执行。
我使用最新的 5.6.10 版本,但问题也在 5.5 版本中。
我有 1 个主从配置。我想在 Master 上举办活动。
- 在my.ini我已经设置 event_scheduler=ON
2,检查这个:
show variables like '%event_scheduler%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| event_scheduler | ON |
+-----------------+-------+
show processlist\G
Id: 1
User: event_scheduler
Host: localhost
db: NULL
Command: Daemon
Time: 720
State: Waiting on empty queue
Info: NULL
...
3,接下来我在主服务器上有一个重复事件。
这永远不想执行。我还尝试将日期更改为不同的时间。
CREATE EVENT IF NOT EXISTS dbname.event_xyz
ON SCHEDULE EVERY 1 DAY STARTS '2013-02-05 00:15:00'
ON COMPLETION PRESERVE
DISABLE ON SLAVE
COMMENT 'Collect data from ...'
DO CALL dbname._procedurename;
我直接调用“_procedurename”过程没有错误。
4、事件和程序的创建者是“根”。
5、输出的
show events\G
Db: dbname
Name: event_xyz
Definer: root@localhost
Time zone: SYSTEM
Type: RECURRING
Execute at: NULL
Interval value: 1
Interval field: DAY
Starts: 2013-02-05 00:15:00
Ends: NULL
Status: SLAVESIDE_DISABLED
Originator: 1
character_set_client: utf8
collation_connection: utf8_general_ci
Database Collation: utf8_general_ci
6,重新启动主服务器我在masterservername.err中得到以下几行:
...
Event Scheduler: Purging the queue. 0 events
...
Event Scheduler: Loaded 0 events
...
和
show processlist\G
表明 event_scheduler
State: Waiting on empty queue !
所以,我的问题是为什么不在我的主服务器上运行事件?
为什么事件调度器对先前定义的事件一无所知?
我错过了什么吗?