我得到了错误代码:2013。当我试图使用MySQL工作台向表添加索引时,在查询错误期间失去了与MySQL服务器的连接。 我还注意到,每当我运行长查询时,它就会出现。
是否有增加超时值的方法?
我得到了错误代码:2013。当我试图使用MySQL工作台向表添加索引时,在查询错误期间失去了与MySQL服务器的连接。 我还注意到,每当我运行长查询时,它就会出现。
是否有增加超时值的方法?
当前回答
我在运行一个存储过程时遇到了这个问题——它正在数据库中的一个表中创建大量的行。 在超过30秒后,我就看到了这个错误。
我尝试了其他答案中的所有建议。我确信其中有一些帮助,然而,真正让我有用的是从Workbench切换到SequelPro。
我猜这是我在Workbench中没有发现的某个客户端连接。 也许这也能帮助到其他人?
其他回答
此错误消息有三个可能的原因
通常这表明网络连接有问题,如果经常发生这种错误,您应该检查网络的状况 有时,当数百万行作为一个或多个查询的一部分发送时,就会出现“during query”形式。 更罕见的情况是,当客户端尝试到服务器的初始连接时,也会发生这种情况
更多细节请阅读>>
原因2:
SET GLOBAL interactive_timeout=60;
从默认的30秒到60秒或更长时间
原因3:
SET GLOBAL connect_timeout=60;
这通常意味着你有“与当前版本的MySQL服务器不兼容”,参见mysql_upgrade。我也遇到了同样的问题,我不得不跑掉:
mysql_upgrade——密码 文档声明,“mysql_upgrade应该在每次升级MySQL时执行”。
对我来说,以上都没用。然后我尝试停止mysql服务,并再次启动它,神奇地查询开始运行:D。
$ sudo service mysql stop
$ sudo service mysql start
希望这能有所帮助
新版本的MySQL WorkBench有一个选项可以更改特定的超时时间。
对我来说,它是在编辑→首选项→SQL编辑器→DBMS连接读取超时时间(秒):600
将值更改为6000。
此外,不勾选限制行,因为每次我想搜索整个数据集时都要设置一个限制,这会让人感到厌烦。
使用命令行选项net_read_timeout / wait_timeout和一个合适的值(以秒为单位)启动DB服务器,例如:——net_read_timeout=100。
参考资料见这里和这里。