Project

General

Profile

Actions

Bug #5017

closed

Mysql::Error: #08S01Bad handshake

Added by encaps (Andrew Ivanov) over 13 years ago. Updated over 13 years ago.

Status:
Rejected
Assignee:
-
Target version:
ruby -v:
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]
[ruby-core:38001]

Description

Summary:
if ruby-1.8.7 is compiled from src (not binary from rpm), it can't connect to mysql-5.1.58:
Mysql::Error: #08S01Bad handshake

Environment:
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]
mysql-5.1.58
Linux fedora12 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 i686 i386 GNU/Linux

How to reproduce the issue:
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p352.tar.gz
tar -xzvf ruby-1.8.7-p352.tar.gz
cd ruby-1.8.7-p352
./configure && make && make install
ln -s /usr/local/bin/ruby /usr/bin/ruby

wget http://rubyforge.org/frs/download.php/74374/rubygems-1.6.0.tgz
tar xzvf rubygems-1.3.7.tgz
cd rubygems-1.3.7
ruby setup.rb

gem install rails -v=1.2.5

cd /var/www/
rails testproject
cd testproject
script/console

  ActiveRecord::Base.establish_connection(
    :adapter  => "mysql",
    :host     => "localhost",
    :username => "root",
    :password => "pwd",
    :database => "test",
    :port => 3306
  )

ActiveRecord::Base.connection.select_all("SELECT NOW();")

Mysql::Error: #08S01Bad handshake
from /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/active_record/vendor/mysql.rb:523:in read' from /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/active_record/vendor/mysql.rb:153:in real_connect'
from /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/active_record/connection_adapters/mysql_adapter.rb:389:in connect' from /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/active_record/connection_adapters/mysql_adapter.rb:152:in initialize'
from /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/active_record/connection_adapters/mysql_adapter.rb:82:in new' from /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/active_record/connection_adapters/mysql_adapter.rb:82:in mysql_connection'
from /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/active_record/connection_adapters/abstract/connection_specification.rb:262:in send' from /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/active_record/connection_adapters/abstract/connection_specification.rb:262:in connection_without_query_cache='
from /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/active_record/query_cache.rb:54:in connection=' from /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/active_record/connection_adapters/abstract/connection_specification.rb:230:in retrieve_connection'
from /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.5/lib/active_record/connection_adapters/abstract/connection_specification.rb:78:in `connection'
from (irb):1

#############
But if ruby is installed from binaries under Fedora Core 14 (rpm is available for Fedora14, the same ruby version, gems, the same remote mysql server) - everything is ok, no mysql error.

So, the question is: is it possible to compile ruby-1.8.7 from src (for old Linux release) without mysql error?

Actions

Also available in: Atom PDF

Like0
Like0Like0