Instant Rails 1.7のphpMyAdmin

| コメント(0)

もう日付が変わってしまったか。
昨日からやり始めたRailsでのコード書き。コードを書くところまで言ってません><

「まず最初の作業はMySQLのrootユーザにパスワードを設定して、開発用DBユーザを作成する事からか。」

っていう、まずのところでいきなりはまりました…

phpMyAdminでrootのパスワードを変えて、定義ファイルconfig.ini.phpのパスワードを合わせて変えても、接続できないのだ。

いろいろ試した結果、mysql/bin/mysql.exeを使ってコンソールで

./mysql -u root -p

とやって、変更後のパスワードを入れればちゃんと接続できる。

途中、飽きてWebをサーフィン(死語?)したりしながら数時間、悩んだあげく、見つけました。

MySQL 4.1 リファレンスマニュアル :: 4 データベース管理 :: 4.3 一般的なセキュリティ関連事項と MySQL アクセス制御システム :: 4.3.11 MySQL 4.1 のパスワードハッシュより引用

パスワードハッシュメカニズムは MySQL 4.1 で更新され、セキュリティが向上し、パスワード盗難の危険性が少なくなっています。 ただし、この新しいメカニズムは 4.1 サーバと 4.1 クライアントしか理解できないため、互換性の問題があります。 4.1 クライアントはパスワードハッシュの新旧メカニズムの両方を理解できるので、4.1 より前のサーバにでも接続できます。しかし、4.1 より前のクライアントが 4.1 サーバに接続しようとすると、問題が発生する可能性があります。たとえば、4.0 mysql クライアントが 4.1 サーバに接続しようとすると、以下のエラーメッセージが表示される可能性があります。

Client does not support authentication protocol requested
by server; consider upgrading MySQL client

Instant RailsのMySQLのバージョンは5.0.27。PHPが参照しているMySQLクライアントのバージョンは3.23.49。もろに当てはまります。
サーバが覚えているパスワードを古い形式に再設定してみると、

update user set password=old_password('hogehoge') where user='root';
FLUSH PRIVILEGES ;

見事接続できました。

しかし、クライアントのバージョンが古すぎないだろうか…なにかミスったのかしら?



コメントする

このブログ記事について

このページは、iwazerが2007年5月 4日 00:42に書いたブログ記事です。

ひとつ前のブログ記事は「Instant Rails」です。

次のブログ記事は「iPodからLast.fm」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。