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

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


当前回答

根据我所理解的,这个错误是由于读取超时引起的,最大允许的包默认值是4M。如果你的查询文件超过4Mb,那么你会得到一个错误。这对我很有效

修改读超时时间。要进行更改,请单击工作台编辑器→首选项→SQL编辑器

2. 通过编辑my.ini文件手动更改max_allowed_packet。请到“C:\ProgramData\MySQL\MySQL Server 8.0\my.ini”目录进行编辑。ProgramData文件夹是隐藏的,所以如果你没有看到,那么选择在视图设置中显示隐藏文件。在my.ini文件中设置max_allowed_packet = 16M。 3.重新启动MySQL。如果需要重新启动,请执行win+ R ->服务。重新启动MySQL。

其他回答

只需执行一次MySQL升级,将重新构建innoDB引擎,并重新构建MySQL正常运行所需的许多表,如performance_schema, information_schema等。

从你的shell中发出下面的命令:

sudo mysql_upgrade -u root -p

进入工作台编辑→首选项→SQL编辑器→DBMS连接读取超时时间:高达3000。 错误不再发生。

在/etc/mysql/cnf文件中增加如下内容:

innodb_buffer_pool_size = 64M

例子:

key_buffer              = 16M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8
innodb_buffer_pool_size = 64M
SET @@local.net_read_timeout=360;

警告:当您在远程连接中应用它时,以下将不起作用:

SET @@global.net_read_timeout=360;

编辑:360是秒数

此错误消息有三个可能的原因

通常这表明网络连接有问题,如果经常发生这种错误,您应该检查网络的状况 有时,当数百万行作为一个或多个查询的一部分发送时,就会出现“during query”形式。 更罕见的情况是,当客户端尝试到服务器的初始连接时,也会发生这种情况

更多细节请阅读>>

原因2:

SET GLOBAL interactive_timeout=60;

从默认的30秒到60秒或更长时间

原因3:

SET GLOBAL connect_timeout=60;