rails: mysql に接続しようとすると Segmentation fault が発生

知人が WindowsRuby on Rails 開発環境を作ろうとして失敗していたので、お手伝い。

Ruby 1.8.7, MySQL 5.1 をインストールした後、gem で rake, rails, mysql などをインストール。

既存の Rails アプリケーションを持ってきて rake db:create すると、Segmentation fault が発生してしまう。

Google で調べ、次のページを発見:

要するに、mysql gem は MySQL 5.0 に対してコンパイルされていて、MySQL 5.1 では動かないそうだ。

しかし、困ったことに http://dev.mysql.com/downloads/ に行っても MySQL 5.0 へのリンクがなくなっていた(どうすればいいのだろう)。

仕方がないので、拙著『基礎Ruby on Rails』のCD-ROMを使ってインストールした。

もちろん、MySQL 5.0 がほしければ私の本を買え、とほのめかしているわけではない。

http://forums.aptana.com/viewtopic.php?f=20&t=7563&p=27407 によれば、MySQL 5.0 に付属している libmySQL.dll を MySQL 5.1 のそれと入れ替えれば、MySQL 5.1 でも動くらしい。

で、その libmySQL.dll は次の URL から取得可能だそうだ。

これを C:\Ruby\bin に置いて、MySQL を再起動すればよい。