Mongrelの不具合解消のため前の記事に書いた設定を行ったところアプリケーション実行時に以下のようなエラーが発生した。

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

gemで入れたmysqlモジュールが古いプロトコルしかサポートしていないのではないか。
とりあえず、MySQLサーバー側のパスワードを古いタイプにすると接続できた。
MySQLサーバーのmysqlデータベースで以下のコマンドを実行する。

update user set password=old_password(‘パスワード’) where user=’ユーザー名’;
FLUSH PRIVILEGES ;

情報元はこちら。

http://www.iwazer.com/~iwazawa/diary/archives/002934.html

Rails Mongrelを長く立ち上げていると全く反応しなくなる不具合がある。
MySQLのドライバーのバグみたいだ。
解決策としては二つあるようだ。

1 config/environment.rbに以下の行を追加する。

ActiveRecord::Base.verification_timeout = 14400

2 CベースのMySQLドライバーを導入する。
導入コマンドは以下の通り。

sudo gem install mysql

Railsは今成長期なのでかたまっていないのは仕方がないのだろう。
フォーラムやメーリングリストは要チェックだ。

情報源はこちら。
http://rubyforge.org/forum/forum.php?thread_id=9974&forum_id=5450