当前位置: 首页 > 面试题库 >

为什么这个mysql事件无法运行?

徐景明
2023-03-14
问题内容
mysql> show create event online_event;
+--------------+-----------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
| Event        | sql_mode                                | time_zone | Create Event                                                                                                                                                                                        | character_set_client | collation_connection | Database Collation |
+--------------+-----------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
| online_event | STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER | SYSTEM    | CREATE EVENT `online_event` ON SCHEDULE EVERY 1 SECOND STARTS '2009-06-03 06:54:16' ON COMPLETION NOT PRESERVE ENABLE DO DELETE FROM online where webserver_id is null and jabber_server_id is null | utf8                 | utf8_general_ci      | utf8_general_ci    |
+--------------+-----------------------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+
1 row in set (0.00 sec)

mysql>

它是通过以下方式创建的:

CREATE EVENT online_event
    ON SCHEDULE EVERY 1 SECOND
    DO 
      DELETE FROM online where webserver_id is null and jabber_server_id is null;

一段时间后,我发现:

mysql> select *from online;
+----+------------+---------------------+--------------+------------------+
| id | account_id | since               | webserver_id | jabber_server_id |
+----+------------+---------------------+--------------+------------------+
|  1 |         30 | 2009-06-03 06:24:38 |         NULL |             NULL |
+----+------------+---------------------+--------------+------------------+
1 row in set (0.00 sec)

因此,我发现该事件根本没有运行。


问题答案:

您的事件调度程序正在运行吗?用检查SHOW PROCESSLIST

如果您没有用户“ event_scheduler”的进程“ Daemon”,则该进程未运行。

因此,启动事件调度程序:

SET GLOBAL event_scheduler = ON;

另请参见http://dev.mysql.com/doc/refman/5.1/zh-CN/events-
configuration.html



 类似资料:
  • 尝试编写一个程序,其中用户输入他们一周的费用。麻烦在于我希望程序重新询问用户是否输入了不可接受的输入。我想出了如何检测负值的方法,但是当尝试捕获输入不匹配异常(如果像输入字符或字符串一样)时,循环只是无限运行,要求“星期一费用:”我如何使它,以便用户有另一个回答的机会?我试着Rest一下;但是这也打破了做而循环,我不想要。 这是我目前为止的代码: 谢谢你的帮助

  • 问题内容: 我尝试解除绑定click事件,但有时会触发两次,有时会触发5次!现在有点烦了! 来自的代码 更新 : 基本上我正在将以下代码 更多信息 : 这仅在我触发事件时发生,关闭模式对话框,然后使用其他对话框重新打开 数据结构: main.asp :负载> modal.asp :modal.asp包含上面的jquery +此页面上的两个div,其中包含panel1.asp和panel2.asp数

  • 当我像这样做一个常规的while循环时 它打印 但第二个while循环在满足条件后再次运行。 所以结果是 “佛罗多是一个很好的霍比特人的名字”难道它不应该停止印刷吗 我设置了x的条件 编辑:哦,我现在明白了,哈哈,我想增量是在代码的末尾,开始是0

  • 问题内容: 我正在使用较大的随机数作为密钥(来自另一个系统)。在相当小的表(如几百万行)上进行插入和更新所花费的时间比我认为合理的长得多。 我已经提炼了一个非常简单的测试来说明。在测试表中,我尝试使其尽可能简单。我的真实代码没有如此简单的布局,并具有关系和附加索引等。但是,更简单的设置将显示等效的性能。 结果如下: 在MyISAM中插入1M行需要6秒钟;进入InnoDB需要 3433秒 ! 我究竟

  • 我想知道当您试图捕获StackOverflowError时会发生什么,并提出了以下方法: 现在我的问题是: 为什么这个方法打印'4'? 我想可能是因为在调用堆栈上需要3个段,但我不知道3这个数字来自哪里。当您查看的源代码(和字节码)时,通常会导致比3个多得多的方法调用(因此调用堆栈中的3个段是不够的)。如果这是因为Hotspot VM应用的优化(方法内联),我想知道在另一个VM上结果是否会有所不同

  • 我完全是以编程的方式在iOS中工作,也完全是使用IB,但我第一次尝试将两者混合使用,我感到困惑。我正在写一个标签应用程序。在我的应用程序委托中,我曾经有以下代码: 那很好。 然后,我通过IB中的故事板创建了一个视图控制器,并向其添加了一堆用户界面元素,给出了以下设置: 现在我的代码是: 应用程序可以正常启动,但当我按tab键进入设置屏幕时,会收到以下消息: 这意味着什么?我如何修复它? 编辑:这里