当前位置: 首页 > 知识库问答 >
问题:

错误代码:2013。查询30.002秒时失去与MySQL服务器的连接

姜志
2023-03-14

与我的主题相同有很多问题,但我的内容和问题似乎不同。在我的工作台中,我运行代码

`select(msgid) from `table`.log where 
 id = 'example'  and  status = 'active'  and month(created_at) = 12 
 and year(created_at) = 2018 limit 0,10;`

上面的代码工作正常,但当我运行代码b时

`select(msgid), count(msgid) from `table`.log where 
     id = 'example'  and  status = 'active'  and month(created_at) = 12 
     and year(created_at) = 2018 limit 0,10;`

我收到错误。

为什么这种情况会发生在我的工作台上?

PS:工作台和我的新功能

共有3个答案

柳镜
2023-03-14

您可以从以下位置更改超时:

→ SQL 编辑器编辑→首选项→ DBMS 连接读取超时(以秒为单位):600

将其更改为比当前值更大的值。

**更新 您也可以通过以下方式设置读取超时:

SET @@local.net_read_timeout=360;
蔚桐
2023-03-14

您应该尝试增加DBMS连接读取超时。

转到Workbench Edit→首选项→SQL编辑器→DBMS连接读取超时:将其增加到6000

秦才英
2023-03-14

下面是MySQL Workbench 8.0.13的首选项截图。我用箭头指示您应该选择“SQL编辑器”的位置,然后在哪里找到“DBMS连接读取超时间隔”字段。

我同意@SalmanA的评论,你应该优化你的查询,这样就不会太慢了。

特别是,您应该使用索引来帮助查询缩小要报告的行的范围。但当您使用month(created_at)year(created_at)之类的函数时,您无法做到这一点。假设您在created_at上有索引,则需要将该列单独放在比较运算符的左侧:

... AND created_at >= '2018-12-01' AND created_at < '2019-01-01'

此查询的最佳索引是复合索引:

ALTER TABLE log ADD INDEX (id, status, created_at, msg_id);
 类似资料:
  • 问题内容: 我收到 错误代码:2013。 当我尝试使用MySQL Workbench向表中添加索引时, 在查询 错误 期间丢失了与MySQL服务器的连接 。我还注意到,只要我运行长时间查询,它就会出现。 是否有增加超时值的方法? 问题答案: 新版本的MySQL WorkBench具有更改特定超时的选项。 对我来说,它位于编辑Preferences首选项SQL SQL编辑器DB DBMS连接读取超时

  • 平台:MySQL Workbench 8.0 CESQL:5.5.57 我在存储过程上遇到了一些问题。当我调用存储过程时,我总是得到同样的错误2013失去连接。 我尝试过的事情: 增加 DBMS 连接读取超时间隔(60 - 6000 秒):错误代码: 2013年。查询期间查询期间与MySQL服务器的连接丢失 为我的表编制索引 将光标限制为 在五次迭代后退出循环,

  • 问题内容: 我收到 错误代码:2013。 当我尝试使用MySQL Workbench向表中添加索引时, 在查询 错误 期间失去了与MySQL服务器的连接 。我还注意到,只要我运行长时间查询,它就会出现。 是否有增加超时值的方法? 问题答案: 新版本的MySQL WorkBench具有更改特定超时的选项。 对我来说,它位于编辑→首选项→SQL编辑器→DBMS连接读取超时(以秒为单位):600 将值更

  • 我得到一个错误,上面写着“错误代码:2013”。当我在工作台上工作时,在查询过程中失去了与MySQL服务器的连接。我把限制从600秒增加到6000秒。然而,它在100秒前失去连接方式。我使用的是工作台6.1。自从我通过创建一个小型表样例来尝试fiddle之后,我的语法就没有问题了。

  • 问题内容: 这个问题已经在这里有了答案 : 7年前关闭。 可能重复: 查询期间失去与MySQL服务器的连接 我正在将一些数据从大型csv导入mysql表。在将文件导入到表的过程中,我丢失了与服务器的连接。 怎么了? 错误代码为2013:在查询过程中失去与mySql服务器的连接。 我正在从Windows服务器上的ubuntu机器远程运行这些查询。 问题答案: 我发现此问题的最简单解决方案是将MySq

  • 问题内容: 我必须导入1go的sql数据,我将max_allowed_pa​​cket调高到1100M以确保。 所以我用: 我的查询 但是一分钟后,它在此过程中停止,我得到了这个错误: 问题答案: 您可能有一些大于最大大小的大插入语句。检查您的/etc/mysql/my.cnf文件或任何位置。不记得默认值是什么- 但是将其设置为类似下面的大值可能会有所帮助。 这是一个选择 也许是另一种方式