MySQL事件调度

MySQL事件调度,mysql,Mysql,我有一个MySQL事件计划在每天午夜运行,但是数据库服务器每天晚上都会关闭,每天早上都会重新启动,但不一定是在同一时间。例如,服务器是在上午10点启动的,我仍然需要在当天执行该事件,尽管它被安排在上午12点。我在ORACLE中测试了这个场景,它可以正常工作,但在MySQL中不太正常。你有什么建议吗 提前感谢,, 抱歉,MySQL无法处理这个问题。如果错过了比赛,就错过了。以后它不会再尝试运行它 您可以做的是创建一个表,记录事件上次运行的时间(日期),然后为每小时安排一次,但在运行之前,请检查它是

我有一个MySQL事件计划在每天午夜运行,但是数据库服务器每天晚上都会关闭,每天早上都会重新启动,但不一定是在同一时间。例如,服务器是在上午10点启动的,我仍然需要在当天执行该事件,尽管它被安排在上午12点。我在ORACLE中测试了这个场景,它可以正常工作,但在MySQL中不太正常。你有什么建议吗

提前感谢,,
抱歉,MySQL无法处理这个问题。如果错过了比赛,就错过了。以后它不会再尝试运行它


您可以做的是创建一个表,记录事件上次运行的时间(日期),然后为每小时安排一次,但在运行之前,请检查它是否已在当天运行。这样,当它在午夜后第一次运行时,它就会被激活。

对不起,MySQL无法处理这个问题。如果错过了比赛,就错过了。以后它不会再尝试运行它


您可以做的是创建一个表,记录事件上次运行的时间(日期),然后为每小时安排一次,但在运行之前,请检查它是否已在当天运行。这样,它在午夜后第一次运行时将激活。

对该行为的直接支持已在中作为功能请求提交。仍在“等待分流”:

事件调度器应该能够定期检查并跟踪错过的事件。虽然需要以这种方式运行的事件可以使用Windows上的任务调度器和Mac和*nix上的anacron进行调度,但这并不美观,而且取决于平台


正如bug报告所建议的,您可以使用MySQL外部的软件来安排此类事件。或者,可以使用MySQL的选项指定一个包含启动时应执行的命令的文件;使用该选项可以检查表:将
LAST\u EXECUTED
列与事件计划进行比较,如果错过了计划的事件,则执行
event\u DEFINITION

对该行为的直接支持已作为中的功能请求提交。仍在“等待分流”:

事件调度器应该能够定期检查并跟踪错过的事件。虽然需要以这种方式运行的事件可以使用Windows上的任务调度器和Mac和*nix上的anacron进行调度,但这并不美观,而且取决于平台


正如bug报告所建议的,您可以使用MySQL外部的软件来安排此类事件。或者,可以使用MySQL的选项指定一个包含启动时应执行的命令的文件;使用该选项可以检查表格:将
上次执行的
列与事件计划进行比较,如果错过了计划的事件,则执行
事件定义。

您可以创建一个每小时触发一次的事件。创建附加表以存储有关事件触发的信息

在事件中执行以下步骤:

  • 检查事件是否已触发-读取信息。从桌子上
  • 执行代码如果没有触发事件stil,则将信息(日期)写入表中

您可以创建一个每小时触发一次的事件。创建附加表以存储有关事件触发的信息

在事件中执行以下步骤:

  • 检查事件是否已触发-读取信息。从桌子上
  • 执行代码如果没有触发事件stil,则将信息(日期)写入表中

您编写了哪些代码/命令来完成此任务请在此处提供您的代码。您编写了哪些代码/命令来完成此任务请在此处提供您的代码。