【问题标题】:run update/delete query when mysql server starts/restarts?mysql 服务器启动/重新启动时运行更新/删除查询?
【发布时间】:2018-01-25 04:44:48
【问题描述】:

我正在开发一个基于 PHP/Laravel 的应用程序。有一种情况是我必须在 MySQL 表中插入大量数据,用户提交后需要大约 1-2 分钟才能完成插入查询。我想在上一个仍在进行时绕过另一个插入查询。

所以我创建了一个log 表,其中0 的值在另一个表上开始批量插入之前插入is_completed 字段,当批量插入循环完成时,我触发了另一个更新@的查询log 表的 is_completed 字段上的 987654324@。

这样我可以检查is_complete 标志是否设置为1 以允许用户的下一个请求,否则只需绕过查询。我已将事务用于批量插入,如果发生任何异常,我会在处理异常时清除日志。

现在,如果在批量插入正在进行时服务器重新启动,则会出现问题,在这种情况下,日志表上的 is_complete 标志设置为 0。如果这样,用户将无法请求插入数据,直到第二天。

在 MYSQL 上是否提供了任何类型的自动化,以便在数据库服务器刚启动时我们可以运行查询?如果是这样,我将触发查询以清除日志表。关于我的情况,谁能告诉我该怎么做或建议我更好的解决方案?

【问题讨论】:

    标签: php mysql database laravel


    【解决方案1】:

    您可以使用init_file 服务器选项在服务器启动时运行 SQL 语句。

    https://dev.mysql.com/doc/refman/5.6/en/server-options.html#option_mysqld_init-file

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-11
      • 2011-04-21
      • 1970-01-01
      • 2019-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多