まーぽんって誰がつけたの?

iOS→Scala→インフラなおじさん技術メモ

Mac OS X 10.6.7でrake db:createができない

MacにRailsの開発環境を作ろうと思ってMySQLをインストールして、
rake db:createでこけたからそれの対処法をメモ

エラー内容

$rake db:create RAILS_ENV=production
(in /Users/hoge)Couldn't create database for
{"encoding"=>"utf8", "username"=>"hoge", "adapter"=>"mysql",
"database"=>"hoge", "host"=>"localhost", "password"=>"hoge",
"socket"=>"/tmp/mysql.sock"},
charset: utf8, collation: utf8_unicode_ci
(if you set the charset manually, 
 make sure you have a matching collation)

対処法

$sudo gem uninstall mysql
MySQLサーバーをアンインストール
MySQL Community Server Mac OS X ver. 10.6 (x86, 64-bit)
, DMG 5.5.13をインスコ
$sudo env ARCHFLAGS=”-arch x86_64″ gem install mysql 
    ― -with-mysql-config=/usr/local/mysql/bin/mysql_config
/etc/my.cnfを編集してutf8にする(なければ作る)
MySQLサーバー起動
export DYLD_LIBRARY_PATH="/usr/local/mysql/lib:$DYLD_LIBRARY_PATH"
rake db:create RAILS_ENV=production

でできた!
ポイントは、x86_64版をインストールすることと、gemも64ビット版にすることと、DYLD_LIBRARY_PATHを通すことっぽい。