我得到了错误代码: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%左右,解决了这个问题。
其他回答
SET @@local.net_read_timeout=360;
警告:当您在远程连接中应用它时,以下将不起作用:
SET @@global.net_read_timeout=360;
编辑:360是秒数
我的观察是
当你同时运行MySQL工作台和终端时,在终端中你会做-
设置自动提交= 0;
OR
开始事务;
然后你通常会遇到这类问题。
甚至在那之后
设置自动提交= 1;
OR
提交;
问题依然存在。
您需要同时从终端和MYSQL工作台注销,然后重新登录或重新启动。
使用MySql Server 8.0.28社区版,在我的模式中创建了100多个表。MySql服务器不能正常工作,多次崩溃。我发现了问题和解决方案。
我写了“select count(*) from table1..”Table100”查询并在.sql文件中运行。
问题1:MySql服务器设置utf8mb4和我的表创建utf8。
解决方案1:必须设置表和列,或者使用utf8mb4重新创建。
问题2:需要重新配置back_log参数。
解决方案2:set back_log=50+(coonectioncount/5)
问题3:wait_timeout参数需要重新配置。
解决方案3:您必须将其设置为180+(您可以尝试较大的值)
这个行动解决了我的问题。
我也遇到了同样的问题——但对我来说,解决方案是一个拥有过于严格权限的DB用户。 我必须允许mysql表上的执行能力。在允许之后,我再也没有掉接了
我也遇到过同样的问题。我相信当您有较大表的外键时(这需要时间)就会发生这种情况。
我尝试运行create table语句再次没有外键声明,并发现它工作。
然后在创建表之后,我使用ALTER table查询添加外键约束。
希望这能帮助到一些人。