我得到了错误代码:2013。当我试图使用MySQL工作台向表添加索引时,在查询错误期间失去了与MySQL服务器的连接。 我还注意到,每当我运行长查询时,它就会出现。
是否有增加超时值的方法?
我得到了错误代码:2013。当我试图使用MySQL工作台向表添加索引时,在查询错误期间失去了与MySQL服务器的连接。 我还注意到,每当我运行长查询时,它就会出现。
是否有增加超时值的方法?
当前回答
如果您在恢复一个大转储文件期间遇到这个问题,并且可以排除与网络有关的问题(例如在本地主机上执行),那么我的解决方案可能会有帮助。
我的mysqldump至少有一个INSERT太大,mysql无法计算。你可以通过输入show变量"net_buffer_length";在你的mysql-cli中。 你有三种可能:
increase net_buffer_length inside mysql -> this would need a server restart create dump with --skip-extended-insert, per insert one line is used -> although these dumps are much nicer to read this is not suitable for big dumps > 1GB because it tends to be very slow create dump with extended inserts (which is the default) but limit the net-buffer_length e.g. with --net-buffer_length NR_OF_BYTES where NR_OF_BYTES is smaller than the server's net_buffer_length -> I think this is the best solution, although slower no server restart is needed.
我使用以下mysqldump命令: mysqldump——skip-comments——set-charset——default-character-set=utf8——single-transaction——net-buffer_length 4096 DBX >转储文件
其他回答
使用命令行选项net_read_timeout / wait_timeout和一个合适的值(以秒为单位)启动DB服务器,例如:——net_read_timeout=100。
参考资料见这里和这里。
尝试使用LIMIT。
跟我来
最初,查询是
SELECT * FROM TABLE1;
这是错误代码:2013。在查询MySQL服务器时失去连接
解决方案
使用限额后
SELECT * FROM TABLE1 LIMIT 10;
它工作。当再次尝试查询w/o LIMIT时,也可以工作。
注意:如果这对你有效,并且你知道为什么它有效,请评论。
你好& # 39;
先建立联系 Mysql——host=host.com——port=3306 -u username -p 然后选择你的db use dbname C:\dumpfile.sql 做完之后\q
我在运行一个存储过程时遇到了这个问题——它正在数据库中的一个表中创建大量的行。 在超过30秒后,我就看到了这个错误。
我尝试了其他答案中的所有建议。我确信其中有一些帮助,然而,真正让我有用的是从Workbench切换到SequelPro。
我猜这是我在Workbench中没有发现的某个客户端连接。 也许这也能帮助到其他人?
根据我所理解的,这个错误是由于读取超时引起的,最大允许的包默认值是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。