我得到了错误代码:2013。当我试图使用MySQL工作台向表添加索引时,在查询错误期间失去了与MySQL服务器的连接。 我还注意到,每当我运行长查询时,它就会出现。

是否有增加超时值的方法?


当前回答

使用MySql Server 8.0.28社区版,在我的模式中创建了100多个表。MySql服务器不能正常工作,多次崩溃。我发现了问题和解决方案。

我写了“select count(*) from table1..”Table100”查询并在.sql文件中运行。

问题1:MySql服务器设置utf8mb4和我的表创建utf8。

解决方案1:必须设置表和列,或者使用utf8mb4重新创建。

问题2:需要重新配置back_log参数。

解决方案2:set back_log=50+(coonectioncount/5)

问题3:wait_timeout参数需要重新配置。

解决方案3:您必须将其设置为180+(您可以尝试较大的值)

这个行动解决了我的问题。

其他回答

如果你的查询有blob数据,这个问题可以通过应用my.ini更改来修复,就像在这个答案中提出的那样:

[mysqld]
max_allowed_packet=16M

默认情况下,这将是1M(允许的最大值是1024M)。如果提供的值不是1024K的倍数,它将自动舍入到1024K的最接近倍数。

虽然引用的线程是关于MySQL错误2006,设置max_allowed_packet从1M到16M确实修复了2013年的错误,当我运行一个长查询时出现。

对于WAMP用户:您将在[wampmysqld]部分中找到该标志。

我也遇到过同样的问题。我相信当您有较大表的外键时(这需要时间)就会发生这种情况。

我尝试运行create table语句再次没有外键声明,并发现它工作。

然后在创建表之后,我使用ALTER table查询添加外键约束。

希望这能帮助到一些人。

我知道它很老,但在mac上

1. Control-click your connection and choose Connection Properties.
2. Under Advanced tab, set the Socket Timeout (sec) to a larger value.

我的观察是

当你同时运行MySQL工作台和终端时,在终端中你会做-

设置自动提交= 0;

OR

开始事务;

然后你通常会遇到这类问题。

甚至在那之后

设置自动提交= 1;

OR

提交;

问题依然存在。

您需要同时从终端和MYSQL工作台注销,然后重新登录或重新启动。

尝试使用LIMIT。

跟我来

最初,查询是

SELECT * FROM TABLE1;

这是错误代码:2013。在查询MySQL服务器时失去连接

解决方案

使用限额后

SELECT * FROM TABLE1 LIMIT 10;

它工作。当再次尝试查询w/o LIMIT时,也可以工作。

注意:如果这对你有效,并且你知道为什么它有效,请评论。

你好& # 39;