我得到了错误代码:2013。当我试图使用MySQL工作台向表添加索引时,在查询错误期间失去了与MySQL服务器的连接。 我还注意到,每当我运行长查询时,它就会出现。
是否有增加超时值的方法?
我得到了错误代码:2013。当我试图使用MySQL工作台向表添加索引时,在查询错误期间失去了与MySQL服务器的连接。 我还注意到,每当我运行长查询时,它就会出现。
是否有增加超时值的方法?
当前回答
我的观察是
当你同时运行MySQL工作台和终端时,在终端中你会做-
设置自动提交= 0;
OR
开始事务;
然后你通常会遇到这类问题。
甚至在那之后
设置自动提交= 1;
OR
提交;
问题依然存在。
您需要同时从终端和MYSQL工作台注销,然后重新登录或重新启动。
其他回答
我也遇到过同样的问题。我相信当您有较大表的外键时(这需要时间)就会发生这种情况。
我尝试运行create table语句再次没有外键声明,并发现它工作。
然后在创建表之后,我使用ALTER table查询添加外键约束。
希望这能帮助到一些人。
在/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
使用命令行选项net_read_timeout / wait_timeout和一个合适的值(以秒为单位)启动DB服务器,例如:——net_read_timeout=100。
参考资料见这里和这里。
SET @@local.net_read_timeout=360;
警告:当您在远程连接中应用它时,以下将不起作用:
SET @@global.net_read_timeout=360;
编辑:360是秒数
首先检查索引是否到位。
SELECT *
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = '<schema>'