Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cố gắng cập nhật 640k hàng trong mySQL bị Mất kết nối với máy chủ MySQL trong khi truy vấn

Có một lý do tiềm ẩn khác cho lỗi này và đó là nhóm kết nối ActiveRecord máy gặt . Khi được kích hoạt, máy gặt sẽ quét nhóm kết nối để tìm các kết nối "chết" và đóng chúng. Trong thử nghiệm của tôi, nó dường như quá nóng vội và đóng các kết nối hoàn toàn còn tồn tại (thường là các kết nối đang chạy các truy vấn lớn hơn một chút).

Hãy thử xóa reaping_frequency từ cấu hình DB của bạn (đã tắt nó đi) và xem điều đó có hữu ích không. Quét cơ sở mã của bạn để tìm chuỗi đó và đảm bảo rằng nó chưa được đặt (hoặc chỉ đơn giản là bị xóa!). Nếu bạn thấy một dòng như config['reaping_frequency'] = ENV['DB_REAP_FREQ'] || 10 , biết rằng || 10 thực sự đang đặt mặc định thấp là 10 giây. Mẫu này đã ở trong cơ sở mã rails trong một thời gian, cho đến khi thay đổi được hoàn nguyên do nó gây ra nhiều vấn đề khác nhau, bao gồm cả loại bỏ các truy vấn đang chạy , nhưng vẫn được đề xuất bởi Heroku .

Nếu vô hiệu hóa máy gặt sẽ khắc phục được mọi thứ, tôi khuyên bạn nên tắt nó đi. Rails không còn đặt nó theo mặc định nữa và nó dường như gây ra nhiều vấn đề hơn là nó có thể giải quyết được.

Tôi đã gặp lỗi giống như lỗi của bạn, và đó là cách tôi sửa nó. Cá nhân, tôi đang giữ nó vô hiệu hóa. Tôi đã viết chi tiết hơn về vấn đề cụ thể của mình trên blog .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL chọn thành viên thứ n của nhóm

  2. Sự khác biệt về ngày / giờ của PHP / MySQL

  3. MySQL CHỌN DISTINCT nhiều cột

  4. MySql không thể làm cho cột auto_increment

  5. Làm cách nào để kết nối với MySQL trên Amazon EC2 từ Linux / Mac?