もう日付が変わってしまったか。
昨日からやり始めたRailsでのコード書き。コードを書くところまで言ってません><
「まず最初の作業はMySQLのrootユーザにパスワードを設定して、開発用DBユーザを作成する事からか。」
っていう、まずのところでいきなりはまりました…
phpMyAdminでrootのパスワードを変えて、定義ファイルconfig.ini.phpのパスワードを合わせて変えても、接続できないのだ。
いろいろ試した結果、mysql/bin/mysql.exeを使ってコンソールで
とやって、変更後のパスワードを入れればちゃんと接続できる。
途中、飽きてWebをサーフィン(死語?)したりしながら数時間、悩んだあげく、見つけました。
パスワードハッシュメカニズムは MySQL 4.1 で更新され、セキュリティが向上し、パスワード盗難の危険性が少なくなっています。 ただし、この新しいメカニズムは 4.1 サーバと 4.1 クライアントしか理解できないため、互換性の問題があります。 4.1 クライアントはパスワードハッシュの新旧メカニズムの両方を理解できるので、4.1 より前のサーバにでも接続できます。しかし、4.1 より前のクライアントが 4.1 サーバに接続しようとすると、問題が発生する可能性があります。たとえば、4.0 mysql クライアントが 4.1 サーバに接続しようとすると、以下のエラーメッセージが表示される可能性があります。
by server; consider upgrading MySQL client
Instant RailsのMySQLのバージョンは5.0.27。PHPが参照しているMySQLクライアントのバージョンは3.23.49。もろに当てはまります。
サーバが覚えているパスワードを古い形式に再設定してみると、
FLUSH PRIVILEGES ;
見事接続できました。
しかし、クライアントのバージョンが古すぎないだろうか…なにかミスったのかしら?
コメントする