我在mySql中有一個事件日程安排,需要在每個月的15號下午2:00運行。我寫它如下:MySQL事件日程表不起作用
create event asdb.e_monthly
on schedule
every 1 month
starts '2013-07-15 13:59:59'
do
INSERT INTO asdb.abc_test values('monthly','monthly');
但它沒有插入值到abc_tes表。我錯過了什麼嗎?
謝謝
我在mySql中有一個事件日程安排,需要在每個月的15號下午2:00運行。我寫它如下:MySQL事件日程表不起作用
create event asdb.e_monthly
on schedule
every 1 month
starts '2013-07-15 13:59:59'
do
INSERT INTO asdb.abc_test values('monthly','monthly');
但它沒有插入值到abc_tes表。我錯過了什麼嗎?
謝謝
確保您的event_scheduler已啓用。默認情況下,它被禁用。
SET GLOBAL event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
欲瞭解更多信息,請查看以下博客:
http://www.jeenalinfotech.com/blogs/mysql/mysql-event-scheduler/
驗證是否event_scheduler
是ON
- 執行以下命令:
SHOW PROCESSLIST;
它會輸出一個表/條目,則必須使用用戶event_schedule
r和命令Daemon
查找條目:
Id User Host db Command Time State Info
22870 event_scheduler localhost \N Daemon 23 Waiting for next activation \N
OR,您還可以驗證使用以下命令:
SELECT @@global.event_scheduler;
結果應該是ON
,否則將其關閉(將獲得0
的命令),如在規定下一節。
SET GLOBAL event_scheduler = ON;
一旦這樣做,你可以驗證它是否已被執行:
如果你沒有任何記錄(如上),你可以使用以下命令啓動事件調度正確使用SHOW PROCESSLIST
命令,如上所述。
是否啓用了['event_scheduler'](http://dev.mysql.com/doc/en/server-system-variables.html#sysvar_event_scheduler)? – eggyal
可能是因爲您的事件調度程序未打開。檢查了這一點http://stackoverflow.com/questions/16937280/mysql-event-not-running-after-database-migration/16937697#16937697 –
你可以閱讀這篇文章http://www.sitepoint.com/how- to-create-mysql-events /只丟失SET GLOBAL event_scheduler = ON; –