WindowsのRuby on RailsでXAMPPのMySQLへ接続

Development 開発環境

WindowsのRuby on Railsで、データベースにローカルにインストールされたXAMPPのMySQLを使用し、接続します。

WindowsにRuby on Railsをインストールする手順は、以下を参考にしてください。
WindowsのRuby on Rails開発環境構築手順

なお、今回のバージョンは以下です。

  • Windows 10 Pro(64bit)
  • Ruby 2.2.4
  • Rails 4.2.6
  • mysql2 0.4.3
  • XAMPP 1.8.2-6(Pleiades All in One 4.5.2.v20160312、MySQL 5.5)
スポンサーリンク

新規アプリケーション作成時、データベースにMySQLを指定

新規アプリケーションを作成する時は、データベースにMySQLを指定してコマンドを実行すれば、必要なアダプター「mysql2」をインストールしてくれて、設定ファイルもMySQL用のものを作成してくれる。

コマンドにオプション「-d mysql」をつければOK。

#新規アプリケーション作成
>rails new testapp -d mysql

設定ファイル「config\database.yml」を編集する。

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password:
  host: localhost

development:
  <<: *default
  database: testapp_development

test:
  <<: *default
  database: testapp_test

production:
  <<: *default
  database: testapp_production
  username: testapp
  password: <%= ENV&#91;'TESTAPP_DATABASE_PASSWORD'&#93; %>

rakeコマンドでDB作成と、マイグレーションを行い、設定ファイルの情報が正しければエラーなどは出ずに、アプリケーションの起動と画面表示(「http://localhost:3000/」へアクセス)ができると思う。

#DB作成
>rake db:create

#DBマイグレーション
>rake db:migrate

#アプリケーション起動
>rails s

各バージョンの違いによるエラー

しかし、Railsとアダプターであるmysql2のバージョンのせいなのかいまいち分からないが、エラーになってrakeコマンドやアプリケーション起動ができない場合があった。

そんなときのいろいろやってみた対処法。

まずは、「Gemfile」に使用するバージョンを指定する。
mysql2のバージョンを落として、「0.3.20」にしてみたりするとエラーがなくなったりした。

#Rails
gem 'rails', '4.2.6'

#mysql2
gem 'mysql2', '0.3.20'

続いて、個別にバージョンを指定してgemパッケージをインストールする。

また、アダプターであるmysql2のオプション「–with-mysql-dir」で、インストールされたMySQLのフォルダを指定する。
もしくは、MySQL公式サイトで「C Driver for MySQL (Connector/C)」というコネクターのソースコードをダウンロードし、配置したフォルダを指定する。

#mysql2をインストール
>gem install mysql2 -v '0.3.20' -- '--with-mysql-dir="C:\pleiades\xampp\mysql"'

最後に、MySQLの「lib\libmysql.dll」をRubyのbinフォルダに置く。

こんな感じで、エラーはなくなりました。

一度お試しを。

コメント

タイトルとURLをコピーしました