2010-03-30 3 views
6

Heroku에서 데이터베이스를 가져 오려고하면 프로세스가 진행되는 동안 오류가 발생합니다.데이터베이스 도중 당김 문제 응용 프로그램 : Mysql :: Error MySQL 서버가 사라졌습니다.

사용 : Snow Leopard; 헤로큐 -1.8.2; 탭 - 0.2.26; 레일 -2.3.5; mysql-5.1.42. 오류 메시지에서 알 수 있듯이 데이터베이스는 작습니다.

Heroku 기술 지원부는 내 시스템에 문제가 있다고 말하지만 해결 방법은 없습니다.

이전에보고 된 문제 - 예 : here. 이 문제를 어떻게 해결할 수 있습니까?

오류 : 그것은 시스템에 문제가

$ 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

이 게시물을 발견하면 같은 문제가 발생합니다. 행운? 내 로컬 db는 기본적으로 utf-8에 있기 때문에 인코딩에 대해 궁금해했지만 작동시키지 못했습니다. – wesgarrison

+0

프로덕션 및 개발에 다른 데이터베이스를 사용하지 마십시오. 도청 장치를 사용하지 마십시오. pgbackups를 사용하십시오. os x에 postgres를 설치하려면 http://postgresapp.com을 시도하십시오. – Will

답변

1

. Heroku에 푸시하려고 할 때 로컬 MySQL 서버에 대한 연결이 끊어졌습니다. Sequel의 최신 버전이 도움이 될 수 있지만 탭을 사용할지 여부는 확실하지 않습니다.

16

내 시스템에서 동일한 문제가 발생했습니다. 나는 그 문제가 오류 거짓임을 알아 냈다.

Sequel 라이브러리를 파헤 쳤을 때 실제로받은 오류가 "max_allowed_packet '바이트보다 큰 패킷을 얻었습니다. /etc/my.cnf에서 다음을 설정하고 mysql을 재시작하면 문제가 해결되었다.

[mysqld] 
    max_allowed_packet = 32M 

기본적으로 mysql은 최대 1MB 데이터로드를 허용하도록 구성됩니다. 위의 설정은 32MB로 제한됩니다.

+0

mysql을 다시 시작하는 것을 잊지 마세요! – Smickie

+0

잘 했어! 고마워. – eAlchemist

-1

위와 같이 작동합니다. 간단히 파일을 생성하십시오 : /etc/my.cnf 그리고 mysql을 다시 시작하십시오.

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

기존 답변을 복제 할 필요가 없습니다. – ybakos

관련 문제