Tôi đang gặp rắc rối nâng cấp đường ray của tôi 2.3.14/ruby 1.8.7 ứng dụng 3.1.1/1.9.2: Tôi có một sốRails 3.1/mysql2 lỗi: "máy chủ MySQL đã biến mất"
(ActiveRecord::StatementInvalid) "Mysql2::Error: MySQL server has gone away"
lỗi xảy ra không thường xuyên. Điều quan trọng là tôi không bao giờ gặp vấn đề như vậy với đá quý 'mysql' trên 2.3.14 và chính xác cùng một db (vì vậy lỗi không nên đến từ mysql (v5.5.10)).
Ví dụ:
$ 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
này chỉ xảy ra với (từ xa) cơ sở dữ liệu sản xuất của tôi, không có vấn đề với db phát triển địa phương của tôi. Tôi đã cố gắng để thiết lập "kết nối lại: true" trong database.yml của tôi, nhưng nó đã dẫn đến một
Mysql2::Error: Host '****' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts':...
Tôi đã cố gắng để cô lập các vấn đề với một kịch bản rb ít chỉ tải mysql2 và activerecord nhưng tôi didn' t quản lý để tái tạo các lỗi theo cách đó (vì vậy nó có thể được liên kết với ngăn xếp đường ray).
Tôi không thể quay trở lại từ 'mysql2' thành đá quý 'mysql' do các sự cố mã hóa (http://www.rorra.com.ar/2010/07/30/rails-3-mysql-and-utf-8/). Kết quả là, tôi phải khôi phục sản xuất của mình cho ứng dụng đường ray 2.3.14 của tôi, khiến tôi rất buồn ...
Bạn có thấy những gì tôi có thể làm để gỡ lỗi này không? Tôi thậm chí không thể tìm thấy một cách chắc chắn để tạo lại lỗi ... Có ai gặp lỗi giống nhau không?
Tôi chỉ tìm thấy một vài người đề cập đến lỗi này (ví dụ: https://github.com/brianmario/mysql2/issues/213) nhưng không phải là giải pháp.
Cảm ơn sự giúp đỡ của bạn.
Cảm ơn, điều này dường như sửa lỗi ngẫu nhiên 'biến mất' của tôi '. – Delameko
2147483 giới hạn dành cho cửa sổ, phải không? Nó nằm trong khối "Loại (cửa sổ)". Đối với các nền tảng khác, giới hạn là 31536000. http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_wait_timeout – kenn
Được thử nghiệm với 'mysql2 0.3.16' và' activerecord 4.0. 0/4.1.4' trong Windows 7 - 'wait_timeout' đang hoạt động, nhưng trong đường ray thực, tôi đang gặp phải các kết nối bị mất và thậm chí hết bộ nhớ. – Paul