我得到了错误代码:2013。当我试图使用MySQL工作台向表添加索引时,在查询错误期间失去了与MySQL服务器的连接。 我还注意到,每当我运行长查询时,它就会出现。
是否有增加超时值的方法?
我得到了错误代码:2013。当我试图使用MySQL工作台向表添加索引时,在查询错误期间失去了与MySQL服务器的连接。 我还注意到,每当我运行长查询时,它就会出现。
是否有增加超时值的方法?
当前回答
这通常意味着你有“与当前版本的MySQL服务器不兼容”,参见mysql_upgrade。我也遇到了同样的问题,我不得不跑掉:
mysql_upgrade——密码 文档声明,“mysql_upgrade应该在每次升级MySQL时执行”。
其他回答
如果这里所有其他解决方案都失败了,请检查您的syslog (/var/log/syslog或类似),看看您的服务器在查询期间是否内存不足。
当innodb_buffer_pool_size设置得太接近物理内存而没有配置交换文件时出现此问题。MySQL建议将innodb_buffer_pool_size设置为物理内存的80%左右,我将其设置为90%左右,内核正在杀死MySQL进程。将innodb_buffer_pool_size移回80%左右,解决了这个问题。
我也遇到了同样的问题——但对我来说,解决方案是一个拥有过于严格权限的DB用户。 我必须允许mysql表上的执行能力。在允许之后,我再也没有掉接了
如果你的查询有blob数据,这个问题可以通过应用my.ini更改来修复,就像在这个答案中提出的那样:
[mysqld]
max_allowed_packet=16M
默认情况下,这将是1M(允许的最大值是1024M)。如果提供的值不是1024K的倍数,它将自动舍入到1024K的最接近倍数。
虽然引用的线程是关于MySQL错误2006,设置max_allowed_packet从1M到16M确实修复了2013年的错误,当我运行一个长查询时出现。
对于WAMP用户:您将在[wampmysqld]部分中找到该标志。
我的观察是
当你同时运行MySQL工作台和终端时,在终端中你会做-
设置自动提交= 0;
OR
开始事务;
然后你通常会遇到这类问题。
甚至在那之后
设置自动提交= 1;
OR
提交;
问题依然存在。
您需要同时从终端和MYSQL工作台注销,然后重新登录或重新启动。
要遵循并确保三件事:
多次查询是否显示失去连接? 在MySQL中如何使用set query ? 如何同时删除+更新查询?
答案:
总是尝试删除定义器,因为MySQL创建了自己的定义器,如果涉及多个表进行更新,尝试进行单个查询,因为有时多个查询显示丢失连接 总是SET值在顶部,但如果它的条件不涉及SET值,则在DELETE之后。 如果这两个操作在不同的表上执行,先使用删除,再使用更新