我得到了错误代码:2013。当我试图使用MySQL工作台向表添加索引时,在查询错误期间失去了与MySQL服务器的连接。 我还注意到,每当我运行长查询时,它就会出现。
是否有增加超时值的方法?
我得到了错误代码:2013。当我试图使用MySQL工作台向表添加索引时,在查询错误期间失去了与MySQL服务器的连接。 我还注意到,每当我运行长查询时,它就会出现。
是否有增加超时值的方法?
当前回答
如果这里所有其他解决方案都失败了,请检查您的syslog (/var/log/syslog或类似),看看您的服务器在查询期间是否内存不足。
当innodb_buffer_pool_size设置得太接近物理内存而没有配置交换文件时出现此问题。MySQL建议将innodb_buffer_pool_size设置为物理内存的80%左右,我将其设置为90%左右,内核正在杀死MySQL进程。将innodb_buffer_pool_size移回80%左右,解决了这个问题。
其他回答
在“编辑->首选项->SQL编辑器->MySQL会话”中修改“读取超时”时间
在/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
如果你的查询有blob数据,这个问题可以通过应用my.ini更改来修复,就像在这个答案中提出的那样:
[mysqld]
max_allowed_packet=16M
默认情况下,这将是1M(允许的最大值是1024M)。如果提供的值不是1024K的倍数,它将自动舍入到1024K的最接近倍数。
虽然引用的线程是关于MySQL错误2006,设置max_allowed_packet从1M到16M确实修复了2013年的错误,当我运行一个长查询时出现。
对于WAMP用户:您将在[wampmysqld]部分中找到该标志。
首先检查索引是否到位。
SELECT *
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = '<schema>'
进入工作台编辑→首选项→SQL编辑器→DBMS连接读取超时时间:高达3000。 错误不再发生。