From: Andrew Ivanov Date: 2011-07-12T03:30:39+09:00 Subject: [ruby-core:38001] [Ruby 1.8 - Bug #5017][Open] Mysql::Error: #08S01Bad handshake Issue #5017 has been reported by Andrew Ivanov. ---------------------------------------- Bug #5017: Mysql::Error: #08S01Bad handshake http://redmine.ruby-lang.org/issues/5017 Author: Andrew Ivanov Status: Open Priority: High 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