Ruby mysql2 gem compilé pour une mauvaise version de la bibliothèque cliente mysql

Après la mise à jour de MySQL 5.5 à l'aide de apt-get, le mysql2 gem cessé de travailler.

Voici l'erreur:

Incorrect MySQL client library version!
This gem was compiled for 5.5.17 but the client library is 5.1.58. (RuntimeError)

J'ai essayé de réinstaller avec mysql_config mais il ne semble pas faire une différence..

gem install mysql2 -- --with-mysql-config=/usr/bin/mysql_config

En conséquence, j'ai essayé de raconter bundle pour compiler mysql2 avec mysql-config, mais encore, l'erreur reste..

bundle config build.mysql2 --with-mysql-config=/usr/bin/mysql_config
bundle install

Quand j'ai essayé une version plus ancienne de la gemme (v0.2.6) les rails de la console s'ouvre, mais se bloque une fois que j'ai exécuter n'importe quel type de requête.


Voici le message d'erreur de la pile lorsque vous essayez la version la plus récente de la mysql2 gem:

[marco@linode:/www] 07:29:00 AM: rails c
/users/marco/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/mysql2-0.3.10/lib/mysql2.rb:9:in `require': Incorrect MySQL client library version! This gem was compiled for 5.5.17 but the client library is 5.1.58. (RuntimeError)
  from /users/marco/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/mysql2-0.3.10/lib/mysql2.rb:9:in `<top (required)>'
  from /users/marco/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require'
  from /users/marco/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
  from /users/marco/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `each'
  from /users/marco/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `block in require'
  from /users/marco/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `each'
  from /users/marco/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `require'
  from /users/marco/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler.rb:122:in `require'
  from /www/config/application.rb:7:in `<top (required)>'
  from /users/marco/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/commands.rb:38:in `require'
  from /users/marco/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/commands.rb:38:in `<top (required)>'
  from script/rails:6:in `require'
  from script/rails:6:in `<main>'

Modifier: j'ai supprimé tous les mysql2 gemspecs de cache, désinstallé tous mysql paquets avec apt-get et réinstallé tout nouveau, puis à nouveau essayé d'installer la gem avec mysql-config drapeau .. mais tous se sont avérés vains. L'erreur reste.

Edit 2: Comme suggéré par John Bachir, j'ai confirmé que mysql_config contient version de MySQL 5.5.

Quel est le contenu de votre database.yml et le fichier de configuration de mysql my.cnf

OriginalL'auteur Marco | 2011-11-15