205

错误代码:2013。查询期间丢失与 MySQL 服务器的连接

我正在使用 MySQL 工作台。另外,我正在运行一批插入,总共大约 1000 行(例如INSERT INTO mytable SELECT * FROM mysource1; INSERT INTO mytable SELECT * FROM mysource2;...mysource3...mysource4乘以 1000 次)每批都需要相当长的时间,其中一些时间超过 600 秒。

我怎样才能配置工作台,在不停止和不丢失连接的情况下继续通宵工作?

4

9 回答 9

431

从现在不可用的互联网档案中:

转到编辑 -> 首选项 -> SQL 编辑器并将此参数设置为更高的值:DBMS 连接读取超时(以秒为单位)。例如:86400。

关闭并重新打开 MySQL Workbench。终止您之前可能正在运行的查询并再次运行该查询。

于 2013-03-29T22:49:55.073 回答
47

如果您使用“基于 SSH 的标准 TCP/IP”类型的连接,则在“首选项”->“其他”下有“SSH KeepAlive”字段。我花了很长时间才找到它:(

于 2015-11-13T20:02:19.533 回答
16

在 5.2.47 中(至少在 mac 上),去首选项的位置是:MySQLWorkbench->Preferences->SQL Editor

然后你会看到两者:

DBMS 连接保持活动间隔(以秒为单位): DBMS 连接读取超时(以秒为单位):

后者是您希望将限制从 600 提高到更多的地方。

于 2013-06-20T23:53:24.317 回答
12

在我尝试在命令行和本地服务器设置中设置 SSH 超时之后。@Ljubitel 解决方案解决了我的问题。

需要注意的一点是,在 Workbench 6.2 中,该设置现在处于高级状态

在此处输入图像描述

于 2015-12-07T05:43:04.550 回答
7

我有一个类似的问题,CREATE FULLTEXT在 30 秒后超时:

错误

在 Edit -> Preferences -> SQL Editor 下将 DBMS 连接读取超时间隔设置为 0 为我解决了这个问题:

解决错误

此外,我不必重新启动 mysql 工作台即可。

于 2019-07-07T07:21:55.087 回答
2

如果您使用的是“基于 SSH 的标准 TCP/IP”类型的连接,则可能是 ssh 服务器一直超时,在这种情况下,您必须在服务器上的 /etc/ssh/sshd_config 中编辑 TCPKeepAlive 相关设置.

于 2014-08-06T11:30:51.313 回答
2

我在 2013 年遇到了这个错误,上述偏好更改都没有解决这个问题。我重新启动了mysql服务,问题就消失了。

于 2014-10-02T12:58:16.987 回答
2

好的 - 所以这个问题一直让我发疯 - Ubuntu Linux 上的 v 6.3.6。以上解决方案都不适合我。以前连接到 localhost mysql 服务器总是可以正常工作。连接到远程服务器总是超时 - 大约 60 秒后,有时更短,有时更长。

最终对我有用的是将 Workbench 升级到 6.3.9 - 不再丢失连接。

于 2017-06-21T10:51:37.997 回答
1

在 mysql-workbech 5.7 中编辑->首选项-> SSH -> SSH 连接超时(用于 SSH 数据库连接) 在此处输入图像描述

于 2019-04-23T09:58:48.883 回答