delimiter $$drop event if exists overdueEvent $$create event overdueEvent on schedule every 1 day    starts timestamp(current_date,'01:00:00') ON COMPLETION PRESERVE ENABLE   COMMENT '超期维保记录计划任务'   DO     BEGIN Call addOverdueRec();      END;$$delimiter ;
这是我写的计划任务,调用一个存储过程,在每天1点执行。如果这个时间我的服务器断电了,是否就不执行了?是否会因此把调度器的状态关闭?根据我的验证好像是这样的~调度器好像被被关闭了~谁给我讲讲啊?

解决方案 »

  1.   

    不会啊,你的调度器是如何打开的? 应该在MY.INI 或者 my.cnf 参数文件中设置,这样当来电恢复时,MYSQL启动会加载这些MY.cnf中的参数。
    下面参数有没有写入到你的my.ini ?
    event-scheduler=on
      

  2.   

    我是在命令行界面简单执行了一下SET GLOBAL event_scheduler = ON;
      

  3.   

    这样只是对本次MYSQL运行起作用,当重启的时候就丢失了。
    你需要加在 参数文件中。按3楼的做法。
      

  4.   

    在哪个位置加?
    怎么加了没效果呢?
    my.ini文件加了
    # SERVER SECTION
    # ----------------------------------------------------------------------
    #
    # The following options will be read by the MySQL Server. Make sure that
    # you have installed the server correctly (see above) so it reads this 
    # file.
    #
    [mysqld]# The TCP/IP Port the MySQL Server will listen on
    port=3306
    event_scheduler = ON;
    怎么验证效果,重启?重新启动下mysql ?
      

  5.   

    修改MY。INI
    mysqld
    加入
    event_scheduler=on
    or
    event_scheduler=1
      

  6.   

    show variables like '%event%';
      

  7.   

    重启一下MYSQL服务。然后检查一下 show variables like 'event_scheduler';注意你的应该是
    event-scheduler=on不是你目前的
    port=3306
    event_scheduler = ON;
    注意观察,建议复制。
      

  8.   

    你说是这个event-scheduler=on他说是这个event_scheduler=on郁闷
      

  9.   

    试了下,可以了,应该是这个event_scheduler=on;