2011-01-20 16 views
6

Sto eseguendo un'app Rails con MySQL su Heroku e questo errore mi ha completamente lasciato perplesso. Tutto funziona bene se provo a selezionare una singola riga, spesso se provo a selezionare una manciata. Ma se provo a selezionare *, o addirittura a poche decine/centinaia di dischi, ottengo il seguente errore:Errore di Ruby/MySQL perplesso: "pacchetto non valido: numero di sequenza non corrispondente"

ActiveRecord::StatementInvalid: Mysql::ProtocolError: invalid packet: sequence number mismatch(52 != 29(expected)): SELECT `people`.* FROM `people` LIMIT 30 OFFSET 10 
/home/slugs/70bb5dad-9387-46c4-935d-cf74e70276a8/mnt/.bundle/gems/ruby/1.8/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract_adapter.rb:202:in `log' 
/home/slugs/70bb5dad-9387-46c4-935d-cf74e70276a8/mnt/.bundle/gems/ruby/1.8/gems/activerecord-3.0.3/lib/active_record/connection_adapters/mysql_adapter.rb:289:in `execute' 
/home/slugs/70bb5dad-9387-46c4-935d-cf74e70276a8/mnt/.bundle/gems/ruby/1.8/gems/activerecord-3.0.3/lib/active_record/connection_adapters/mysql_adapter.rb:619:in `select' 
/home/slugs/70bb5dad-9387-46c4-935d-cf74e70276a8/mnt/.bundle/gems/ruby/1.8/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract/database_statements.rb:7:in `select_all' 

Rails 3, Ruby 1.8.6 e MySQL 5.1.42 esecuzione.

Sono davvero alla fine del mio spirito qui, quindi qualsiasi aiuto sarebbe molto apprezzato!

David

+0

La risposta di genkilabs sembra essere corretta ... –

risposta

0

Questo è quello che faccio per ottenere il mio setup di lavoro (in Ubuntu):

sudo apt-get install mysql-server-5.1 mysql-client-5.1 libmysqlclient-dev 
sudo gem install mysql 

Assicurarsi che si sta utilizzando la gemma mysql e non qualcos'altro (come Ruby-mysql).

11

è simile a un bug nel connettore ruby-mysql quando si cerca e si esegue will_paginate con tutti, come ad esempio @ author.books.all.paginate (...)

https://github.com/tmtm/ruby-mysql/issues#issue/8

il rapido fix v'è di tornare a gemma ruby-mysql 2.9.3

Verificare la presenza di bug conosciuti in qualsiasi gemma connettore mysql si esegue

+0

Il downgrade a 2.9.3 ha risolto questo problema per me! –

+0

Aiuta anche me. Quello che mi piace di ruby-mysql è che non hai tutta questa strana configurazione da installare, come nell'altra risposta ... – Jenny

+3

Questo ha appena cambiato l'errore in un pacchetto non valido: f1 = "\ x0F \ xC0 \ x15 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 " – jspooner

0

nella mia situazione downgrade a ruby-mysql 2.9.3 non risolverlo completamente.

Ho anche dovuto aggiornare questo file: 2.9.4 https://github.com/tmtm/ruby-mysql/commit/07ddfafafbd1d46bbb71c7cb54ae0f03bc998d27

E proprio per eliminare questo problema fuori, ruby-mysql funziona perfettamente su Ubuntu 10.04, ma non in MacOS - leopardo delle nevi.

+0

Non completamente vero: sto usando Ubuntu 10.04.3 LTS e ottengo lo stesso errore con 2.9 .4. 2.9.3 sembra funzionare bene però. – mltsy

0

Ho riscontrato questo problema in un'app rails3 e ho risolto il problema di eseguire il downgrade di ruby ​​dalla versione 2.0.0 alla versione 1.9.3.

Problemi correlati