我在mySql中有一个事件安排,需要在每个月的15号下午2:00运行。我写的如下:
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表插入值。我错过了什么吗?
由于
答案 0 :(得分:0)
确保启用了event_scheduler。默认情况下,它被禁用。
SET GLOBAL event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
有关更多信息,请查看以下博客:
http://www.jeenalinfotech.com/blogs/mysql/mysql-event-scheduler/
答案 1 :(得分:0)
验证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
命令验证是否已正确执行,如上所述。