我偶尔会遇到这个错误。我读过stackoverflow中的一些解决方案,但它们都是关于Rails2或mysql的。任何帮助都将不胜感激。
ActiveRecord::StatementInvalid (Mysql2::Error: MySQL server has gone away发布于 2011-08-01 15:15:00
导致该错误的原因有很多。有关可能的原因,请参阅下一页。可能您的数据包大小设置得太小。
发布于 2013-12-23 11:18:51
当我试图通过rake db:seed通过seeds.rb导入一个大文件时,通过调用一条语句得到了这个错误:
ActiveRecord::Base.connection.execute(IO.read("path/to/file.sql"))我一直在找ActiveRecord::StatementInvalid (Mysql2::Error: MySQL server has gone away...
解决方案
我通过两件事的组合解决了这个问题:
在database.yml
reconnect: true添加到数据库规范中,然后单独执行该语句,如下所示:F= File.new('path/to/file.sql') while语句= f.gets("") do ActiveRecord::Base.connection.execute(statements) end
我必须修改以从我的SQL文件中删除一些注释--由于某种原因,这些注释使ActiveRecord抛出错误,但这解决了我的问题。
发布于 2012-04-20 19:05:43
当我在我的开发环境中运行"rake db:reset“命令时,我遇到了完全相同的问题。但是当我运行"rake :migrate:reset && rake :seed“时,我从来没有看到这个错误消息。
虽然这很奇怪,但这可能会给这个问题带来一些启发。如果我的帖子能以某种方式带来解决方案,我会很高兴。
https://stackoverflow.com/questions/6807012
复制相似问题