【问题标题】:lost connection to mysql server during query after about 1000 seconds大约 1000 秒后查询期间失去与 mysql 服务器的连接
【发布时间】:2017-04-21 03:22:06
【问题描述】:

我正在尝试更改包含大量数据的表。每次我发送更改查询时,它都会在大约 1000 秒后失败(不准确)。

我已阅读有关此问题的相关帖子(有很多),并按照说明修改了 mysql 服务器变量,例如 wait_timeout。实际上,我的查询持续了 600 秒,直到我修改了一个 600 的变量(我不记得是哪个)。我将它设置为一个非常大的数字,然后在 1000 秒后它开始失败。

现在我试图找到值为 1000 的变量,但我找不到。我正在使用最新的 mysql docker 映像,除了一些超时变量之外没有更改任何设置。

这真的是mysql服务器变量的问题吗?如何无限制查询执行时间?

【问题讨论】:

    标签: mysql docker timeout


    【解决方案1】:

    您可以使用如下查询:

    SELECT MAX_STATEMENT_TIME=1000 * FROM 表;

    更新:您应该改用 max_execution_time。

    SELECT /+ MAX_EXECUTION_TIME(1000)/ * FROM table; MAX_STATEMENT_TIME 在 MySQL 5.7.8 中重命名为 max_execution_time。

    【讨论】:

    • 它被设置为0。我认为这意味着无限。
    • 我将其设置为 999999999,但 1000 秒后又失败了。
    • 你使用哪个版本的mysql?
    • 5.7.17。但我可以看到 MAX_EXECUTION_TIME 而不是 MAX_STATEMENT_TIME
    • 哦,对不起。该变量可用于每个会话。我再试一次。
    猜你喜欢
    • 2010-12-25
    • 2011-03-28
    • 2019-05-29
    • 1970-01-01
    • 2012-11-15
    • 2015-09-22
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    相关资源
    最近更新 更多