Ruby - mysql - Error Authentication protocol not supported

J

jsp408

On Windows XP Prof system, using Ruby 1.8.4 & mysql-ruby-2.7.1 (pure
ruby interface),
myswl 5.0 server, and rubyuser is defined as a mysql user, I am trying
to run the following sample program and getting the error:

*** C:/ruby/lib/ruby/1.8/mysql.rb:453:in `read': Client does not
support authentication protocol requested by server; consider
upgrading MySQL client (Mysql::Error)
from C:/ruby/lib/ruby/1.8/mysql.rb:130:in `real_connect'
from C:/ruby/lib/ruby/1.8/mysql.rb:91:in `initialize'
from C:/0-dwn/mysql/ruby-mysql-0.2.6/sampledb0.rb:5


I am able to perform all of the commands via a commandline console.

Please help me with this error message, what do I need to change to get
it working

Thanks,
John

========Sampledb.rb =========================================

require "mysql"

dbname = "sampledb"

m = Mysql.new("localhost", "root", "passwd")
r = m.query("CREATE DATABASE #{dbname}")
m.select_db(dbname)
m.query("CREATE TABLE words
(
german varchar(30),
english varchar(30),
french varchar(30)
)"
)

m.query("INSERT INTO words VALUES('Adler', 'eagle', 'aigle')")
m.query("INSERT INTO words VALUES('Haus', 'house', 'maison')")
m.query("INSERT INTO words VALUES('Name', 'name', 'nom')")
m.query("INSERT INTO words VALUES('Wal', 'whale', 'baleine')")
m.query("GRANT ALL ON sampledb.* TO rubyuser@localhost IDENTIFIED by
'ruby'")

m.close
================================================
 
A

Andrew RJ

Justin said:
from C:/0-dwn/mysql/ruby-mysql-0.2.6/sampledb0.rb:5
[snip]
I think I heard that the ruby mysql library doesn't work with mysql 5?
I'm not sure, though.

MySQL/Ruby works fine with MySQL 5.0.* (for me, 5.0.19):
http://www.tmtm.org/en/mysql/ruby/
- This is great if you can do makes.
- Been using this for years, with various MySQLs.
- Tomita Masahiro keeps it up to date still, last was just over 1
month ago.

His Ruby/MySQL doesn't seem to (and is the rumour source I suspect):
http://www.tmtm.org/en/ruby/mysql/
- however, maybe you can, if you use the old authentication protocol
(see 1st paragraph here:
http://www.tmtm.org/ja/ruby/mysql/README.html)
- Latest version is out-of-date, and is around 1.5 years old.
- Also, it is decently slower (unsurprising, shush).

The rails-emergent ActiveRecord can use either of these, but as it says,
the pure ruby one won't work with MySQL 4.1.*+ ... but the natively
linked one will.
http://wiki.rubyonrails.org/rails/pages/MySQL

Maybe useful, maybe not.
ARJ
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,051
Latest member
CarleyMcCr

Latest Threads

Top