我遇到麻烦了升级我的rails 2.3.14 /红宝石1.8.7应用3.1.1/1.9.2:我有一些的Rails 3.1/mysql2错误: “MySQL服务器消失”
(ActiveRecord::StatementInvalid) "Mysql2::Error: MySQL server has gone away"
偶尔出现错误。准确的说,我从来没有在2.3.14上使用'mysql'gem和完全相同的数据库(所以这个错误不应该来自mysql(v5.5.10))。
例子:
$ rails c production
Loading production environment (Rails 3.1.1)
ruby-1.9.2-p290 :001 > ActiveRecord::Base.connection.active?
=> false
ruby-1.9.2-p290 :002 > exit
$ rails c production
Loading production environment (Rails 3.1.1)
ruby-1.9.2-p290 :001 > ActiveRecord::Base.connection.active?
=> true
这只发生在我的(远程)生产数据库,与我的地方发展数据库没有问题。我试图设置“重新连接:真正的”在我的database.yml,但它导致了
Mysql2::Error: Host '****' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts':...
我试图用一个小RB脚本只加载mysql2和ActiveRecord的隔离问题,但我没有”设法重现这种方式的bug(所以它可能被链接到铁轨堆栈)。
由于编码问题(http://www.rorra.com.ar/2010/07/30/rails-3-mysql-and-utf-8/),我无法从'mysql2'回到'mysql'宝石。因此,我不得不将我的产品回滚到我的rails 2.3.14应用程序,这让我非常伤心...
你看到我能做些什么来调试吗?我什至不能找到一个可靠的方法来重现错误...有没有人遇到同样的错误?
我刚刚发现几个人提到这个bug(例如:https://github.com/brianmario/mysql2/issues/213),但没有解决方案。
感谢您的帮助。
谢谢,这似乎解决了我的随机'走''错误。 – Delameko 2012-01-17 09:27:42
2147483限制是针对窗口的,对吧?它在“Type(windows)”块中。对于其他平台,限制为31536000. http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_wait_timeout – kenn 2012-05-20 19:51:55
使用'mysql2 0.3.16'和'activerecord 4.0进行测试。 0/4.1.4'在Windows 7中 - 'wait_timeout'正在工作,但在真正的导轨中,我遇到连接丢失甚至内存不足的情况。 – Paul 2014-10-20 16:35:02