railsアプリケーション作成後のデータベース設定

railsアプリケーション作成後のデータベースの設定、毎度の操作なのでメモっておきましょう。
環境は、Mac OSX1.5(Leppard), ruby1.8.6, rails2.0.2です。
データベースはMySQL5です。
以下の操作は、全てターミナル上です。

前提は、mysqlがインストールされ、データベースの初期化、rootアカウントの作成が済んでいることです。

データべースの準備

mysqld起動

まず(起動していなければ)mysqlのサービスを起動します。

>sudo mysqld_safe &
mysqlコマンドツール

データベースとアカウントの作成をするため、mysqlコマンドツールを起動します。

>mysql -u <rootアカウント> -p 
データベースの作成

mysqlでログインしたら、まずデータベースを生成します。

>create database <database名>
アカウント

それから、データベースに対するユーザアカウントを設定します。

>grant all privileges on <database名>.* to  'ユーザ名'@'localhost'
    identified by 'パスワード' with grant option;

今回は以上のようにして
作成するアカウントに全ての権限(all privileges)を付与。
また、localhostからの接続を許可する設定にしました。

作成の確認

ここで一回、mysqlコマンドツールを終了。
作成したアカウントで再度起動。useコマンドで作成したデータベースにアクセスできることを確認します。

nyaago@kyonkyon: 535 /Users/nyaago/workspace$mysql -u <ユーザ名> -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.51 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use <データベース名>
Database changed

rails側の設定

database.ymlの編集

railsアプリケーションのconfig/database.ymlを編集します。
development,product,test用の設定がありますが、とりあえず、development用の設定を行います。

development:
  adapter: mysql
  database: <データベース名>
  username: <ユーザ名>
  password: <パスワード>
  host: localhost
  encoding: UTF8

mysqlのデフォルトがutf8なので、ここの設定もUTF8となっています。

railsから接続できることの確認

アプリケーションのトップディレクトリからmigrateを実行。

>rake db:migrate

警告、エラーなどが表示されなけれは、接続できているはずですね。