2012-01-18 19 views
1

Windows 7 x64ボックスにMySQLバックエンドを使ってRORをインストールしようとしていますが、連携していません。数か月前にこれをやったときは、mysqlのインストールとバンドルコマンドでしたが、今回はできませんでした。RubyとMySQLを連携させる

パスにスペースを入れずにMySQL 5.1 32ビットをインストールし、サーバを設定しました。コマンドライン引数を使ってmysql2 gemをインストールして、インストールするgemを得るためのmysqlインスタンスパスを指定しなければなりませんでした。ただし、rake db:createはエラーCan't connect to MySQL server on 'localhost' (10061)で失敗します。

mysqlが指定されたポートで実行されていることを確認しました。 mysql、mysqladmin、およびtelnet localhost 3306はすべて正常に動作します。ポート3306のファイアウォール例外があり、正常に動作します。私もファイアウォールをオフにしていて、違いはありません。

私は数時間かけてGoogleを使い、成功することなく多くの可能性を試してみました。私が見つけたドキュメントのほとんどは、mysqlがパイプ上で実行されていない/実行中の問題に関連していますが、これは私の問題ではありません。

database.yml excerpt: 
common: &common 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    pool: 5 
    username: root 
    password: root 
    #host: 127.0.0.1 
    host: localhost 
    port: 3307 


development: 
    <<: *common 
    database: project_dev 

これを修正する方法はありますか?

+1

なぜ 'port:3307'ですか? – Mchl

+0

これでcmd行(黒いウィンドウ)に接続しようとすると何かに接続できることを確認してください:mysql -u root -p パスワードを尋ねるメッセージが表示されます。それが接続されている場合、問題はあなたのルビーセットアップでサーバーを見つけることができません。いずれかに入ることができない場合、それはmysqlの問題です。少なくとも問題を見つけるのに役立つかもしれません。 – rncrtr

+0

ポートの設定に問題がないことを確認するために、3306と3307のポートを試していました。どちらも動作しません。 – user1157028

答えて

0

mysql2 page on GitHubから、ActiveRecordのバージョンに応じて、Gemfileに設定行がない可能性があります。

注:0.3.0以降、ActiveRecord 3.1 - ActiveRecordアダプタは、この宝石からActiveRecordに引き出されています。あなたはRailsのバージョンでmysql2使用する必要がある場合は< 3.1を確認すると役立ちますあなたのGemfile

ホープ宝石「mysql2」、「〜> 0.2.7」を指定します。

+0

gemfile.lockにアクティブなレコード3.1.3とmysql2の0.3.11が指定されています。私はRuby 1.9.2、レール3.1.3、mysql 5.1.61を使用しています – user1157028

関連する問題