で.さくらサーバーを借りたのですが,MySQLのバージョンが5なせいで
最初から入っている"mysql"では
Client does not support authentication protocol
とかでちゃってうまくいきません.
OLD_PASSWORD()とか使えばなんとかなりますが,今度はmysqlコマンドから
素で入れなくなったりするので,やっぱり困りモノです.
それに,折角新しい認証方式になったので,合わせておきたい気もします..
そこで,pure RubyなRuby/MySQLを使わせてもらうことにします.
まず Ruby/MySQLをダウンロード
("ruby-mysql-0.2.6.tar.gz"でした).
とりあえず パッチ
をあてます
$ patch mysql.rb ruby_mysql4.patch
553-555行目を書き換え(3箇所書き換え)
s1 = Digest::SHA1.new(password).digest
↓
s1 = Digest::SHA1.digest(password)
ついでに,windowsでxamppとかの場合は
UNIXSocketを使わないようにするといいかも.102行目を以下のように書き換えて,
localhostでもTCPSocketを使うようにします
#if (host == nil or host == "localhost") and
# defined? UNIXSocket then
if (false) and
defined? UNIXSocket then
setup.rb, install.rbして,
$ ruby test.rb localhost user pass
がとおればOK.
|