Issue #5017 has been updated by Eric Hodel. Status changed from Open to Rejected Priority changed from High to Normal This is not ruby's bug, it is the ruby mysql extension's bug. Please file it on the bug tracker for the ruby mysql extension. ---------------------------------------- Bug #5017: Mysql::Error: #08S01Bad handshake http://redmine.ruby-lang.org/issues/5017 Author: Andrew Ivanov Status: Rejected Priority: Normal Assignee: Category: Target version: Ruby 1.8.7 ruby -v: ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux] 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? -- http://redmine.ruby-lang.org