我得到了错误代码:2013。当我试图使用MySQL工作台向表添加索引时,在查询错误期间失去了与MySQL服务器的连接。 我还注意到,每当我运行长查询时,它就会出现。
是否有增加超时值的方法?
我得到了错误代码:2013。当我试图使用MySQL工作台向表添加索引时,在查询错误期间失去了与MySQL服务器的连接。 我还注意到,每当我运行长查询时,它就会出现。
是否有增加超时值的方法?
当前回答
尝试使用LIMIT。
跟我来
最初,查询是
SELECT * FROM TABLE1;
这是错误代码:2013。在查询MySQL服务器时失去连接
解决方案
使用限额后
SELECT * FROM TABLE1 LIMIT 10;
它工作。当再次尝试查询w/o LIMIT时,也可以工作。
注意:如果这对你有效,并且你知道为什么它有效,请评论。
你好& # 39;
其他回答
我也遇到过同样的问题。我相信当您有较大表的外键时(这需要时间)就会发生这种情况。
我尝试运行create table语句再次没有外键声明,并发现它工作。
然后在创建表之后,我使用ALTER table查询添加外键约束。
希望这能帮助到一些人。
只需执行一次MySQL升级,将重新构建innoDB引擎,并重新构建MySQL正常运行所需的许多表,如performance_schema, information_schema等。
从你的shell中发出下面的命令:
sudo mysql_upgrade -u root -p
如果您正在使用SQL工作台,您可以尝试使用索引,通过添加索引到您的表,要添加索引,单击扳手(扳手)符号在表上,它应该打开表的设置,下面,单击索引视图,键入索引名称并设置类型为索引,在索引列中,选择表中的主列。
对其他表上的其他主键执行相同的步骤。
在“编辑->首选项->SQL编辑器->MySQL会话”中修改“读取超时”时间
如果这里所有其他解决方案都失败了,请检查您的syslog (/var/log/syslog或类似),看看您的服务器在查询期间是否内存不足。
当innodb_buffer_pool_size设置得太接近物理内存而没有配置交换文件时出现此问题。MySQL建议将innodb_buffer_pool_size设置为物理内存的80%左右,我将其设置为90%左右,内核正在杀死MySQL进程。将innodb_buffer_pool_size移回80%左右,解决了这个问题。