2010-03-30 29 views
6

Cố gắng kéo cơ sở dữ liệu của tôi từ Heroku đưa ra một lỗi trong quá trình (bên dưới).Vấn đề Heroku Trong Cơ sở dữ liệu Kéo Rails Ứng dụng: Mysql :: Lỗi Máy chủ MySQL đã biến mất

Sử dụng: Snow Leopard; heroku-1.8.2; vòi-0.2.26; đường ray-2.3.5; mysql-5.1.42. Cơ sở dữ liệu nhỏ, như bạn có thể thấy từ thông báo lỗi.

Hỗ trợ kỹ thuật Heroku cho biết đó là sự cố trên hệ thống của tôi, nhưng không cung cấp cách nào giải quyết vấn đề.

Tôi đã thấy sự cố được báo cáo trước đây - ví dụ: here. Làm thế nào tôi có thể giải quyết vấn đề này?

Lỗi:

$ heroku db:pull 
Auto-detected local database: mysql://[...]@localhost/[...]?encoding=utf8 
Receiving schema 
Receiving data 
17 tables, 9,609 records 
[...] 
/Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/adapters/mysql.rb:166:in `query': Mysql::Error MySQL server has gone away (Sequel::DatabaseError) 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/adapters/mysql.rb:166:in `_execute' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/adapters/mysql.rb:125:in `execute' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/connection_pool.rb:101:in `hold' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/database.rb:461:in `synchronize' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/adapters/mysql.rb:125:in `execute' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/database.rb:296:in `execute_dui' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/dataset.rb:276:in `execute_dui' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/adapters/mysql.rb:365:in `execute_dui' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/dataset/convenience.rb:126:in `import' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/dataset/convenience.rb:126:in `each' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/dataset/convenience.rb:126:in `import' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/adapters/mysql.rb:144:in `transaction' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/connection_pool.rb:108:in `hold' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/database.rb:461:in `synchronize' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/adapters/mysql.rb:138:in `transaction' 
    from /Library/Ruby/Gems/1.8/gems/sequel-3.0.0/lib/sequel/dataset/convenience.rb:126:in `import' 
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.26/lib/taps/client_session.rb:211:in `cmd_receive_data' 
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.26/lib/taps/client_session.rb:203:in `loop' 
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.26/lib/taps/client_session.rb:203:in `cmd_receive_data' 
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.26/lib/taps/client_session.rb:196:in `each' 
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.26/lib/taps/client_session.rb:196:in `cmd_receive_data' 
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.26/lib/taps/client_session.rb:175:in `cmd_receive' 
    from /Library/Ruby/Gems/1.8/gems/heroku-1.8.2/bin/../lib/heroku/commands/db.rb:17:in `pull' 
    from /Library/Ruby/Gems/1.8/gems/heroku-1.8.2/bin/../lib/heroku/commands/db.rb:119:in `taps_client' 
    from /Library/Ruby/Gems/1.8/gems/taps-0.2.26/lib/taps/client_session.rb:21:in `start' 
    from /Library/Ruby/Gems/1.8/gems/heroku-1.8.2/bin/../lib/heroku/commands/db.rb:115:in `taps_client' 
    from /Library/Ruby/Gems/1.8/gems/heroku-1.8.2/bin/../lib/heroku/commands/db.rb:16:in `pull' 
    from /Library/Ruby/Gems/1.8/gems/heroku-1.8.2/bin/../lib/heroku/command.rb:45:in `send' 
    from /Library/Ruby/Gems/1.8/gems/heroku-1.8.2/bin/../lib/heroku/command.rb:45:in `run_internal' 
    from /Library/Ruby/Gems/1.8/gems/heroku-1.8.2/bin/../lib/heroku/command.rb:17:in `run' 
    from /Library/Ruby/Gems/1.8/gems/heroku-1.8.2/bin/heroku:14 
    from /usr/bin/heroku:19:in `load' 
    from /usr/bin/heroku:19 
+0

Tìm thấy bài đăng này, có cùng vấn đề. Bất kỳ may mắn? Tôi băn khoăn về việc mã hóa vì db cục bộ của tôi nằm trong utf-8 theo mặc định, nhưng không thể làm cho nó hoạt động được. – wesgarrison

+0

Không sử dụng cơ sở dữ liệu khác trong sản xuất và phát triển. Không sử dụng vòi. Sử dụng pgbackups. Hãy thử http://postgresapp.com để cài đặt postgres trên os x. – Will

Trả lời

1

Đó là một vấn đề trên hệ thống của bạn. Kết nối của bạn với máy chủ MySQL cục bộ của bạn đã bị xóa trong khi cố gắng đẩy tới Heroku. Một phiên bản mới hơn của Sequel có thể giúp đỡ, nhưng tôi không chắc chắn nếu các vòi sẽ sử dụng nó.

16

Tôi đã gặp sự cố tương tự trên hệ thống của mình. Cuối cùng tôi đã tìm ra rằng vấn đề là lỗi nằm.

Đào vào thư viện Sequel Tôi đã có thể xác định rằng lỗi thực tế tôi nhận được là "Có gói lớn hơn 'max_allowed_packet' byte". Thiết lập sau trong /etc/my.cnf và khởi động lại mysql đã khắc phục sự cố cho tôi.

[mysqld] 
    max_allowed_packet = 32M 

Theo mặc định, mysql được định cấu hình để cho phép tải tối đa 1 meg dữ liệu. Ở trên đặt giới hạn là 32 meg.

+0

Đừng quên khởi động lại mysql! – Smickie

+0

Đã làm việc tuyệt vời! Cảm ơn bạn đã sửa chữa. – eAlchemist

-1

Như trên đây không có tác dụng. Chỉ cần tạo một tệp: /etc/my.cnf và khởi động lại mysql.

[mysql] 
max_allowed_packet=32M 
[mysqld] 
max_allowed_packet=32M 
+2

Không cần sao chép câu trả lời đã tồn tại. – ybakos

Các vấn đề liên quan