我的MySQL事件永遠不想執行。
我使用最新的5.6.10版本,但問題也出現在5.5版本中。
我有1個主 - 許多從站配置。我想在主人身上運行這個活動。
MySQL事件調度程序不起作用,但一切都設置了
- 在的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: [email protected]
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 !
所以,我的問題是爲什麼不在我的主服務器上運行事件?
爲什麼事件調度程序不知道以前定義的事件?
我錯過了什麼嗎?
你可以測試事件的正文嗎? procudure可能有問題。嘗試執行INSERT或任何其他語句以確保事件有效。 – Devart 2013-03-05 12:24:27
我沒有錯誤直接調用事件正文。 – Egeri 2013-03-05 16:08:34
錯誤日誌中是否有錯誤? – Devart 2013-03-06 07:24:11