2

Rails アプリケーションをセットアップして、開発用にローカル マシンで MySQL サーバーを使用しようとしています。mysql2MySQLConnector/C に対して gemを正常にコンパイルしました。MySQL Server のインストールにバンドルされている libmysql.dll を使用して同じエラーを受け取りました。しようとするrake db:createと、アプリケーションが MySQL サーバーに接続できません。

MySQL はマシン上で Windows サービスとして構成されており、名前付きパイプを介したローカルのみの接続に対して自動的に開始されます。TCP-IP は完全に無効になっています。my.iniファイル内のソケットの名前はmysql.

database.ymlの Rails アプリケーションのファイルは次のようになります。

開発:
アダプター: mysql2
エンコーディング: utf8 再接続: false
データベース: application_dev
プール: 5
ユーザー名: root

パスワード: *********

ホスト: localhost
ソケット: mysql

テスト:
アダプター: mysql2
エンコーディング: utf8 再接続: false
データベース: application_test プール: 5
ユーザー名: root

パスワード: *********

ホスト: localhost
ソケット: mysql

そして、私が受け取っているエラーは次のとおりです。

D:\Dropbox\Programming\Ruby\application>rake db:create (in D:/Dropbox/Programming/Ruby/application) Can't connect to MySQL server on 'localhost' (10061) Couldn't create database for {" adapter"=>"mysql2", "encoding"=>"utf8", "reconnect"=>false, "database"=>"application_test", "pool"=>5, "username"=>"root"," password"=>"************", "host"=>"localhost", " socket"=>"mysql"}, 文字セット: utf8, 照合順序: utf8_unicode_ci

'localhost' の MySQL サーバーに接続できません (10061) {"adapter"=>"mysql2", "encoding"=>"utf8", "reconnect"=>false, "database" のデータベースを作成できませんでした=>"applicaton_dev", "pool"=>5, "username"=>"root", "password "=>"************", "host"=>"localhost"," socket"=>"mysql"}、文字セット: utf8、照合: utf8_unicode_ci

次の Ruby/Rails/MySQL ディストリビューションで Windows 7 Home Premium 64 ビットを使用しています。

ruby 1.9.2p180 (2011-02-18) [i386-mingw32]

Rails 3.0.7

mysql2 rubygem 0.2.7

mysql Ver 14.14 Distrib 5.5.11, for Win32 (x86)

mysql Connector/C 6.0.0

MySQL サーバーを再インストールして TCP-IP 接続を有効にしようとしましたが、失敗する代わりにハングします。

4

1 に答える 1

0

次のパラメーターを追加して、database.yml でポート番号を指定してみてください。

port: 3306 (or whatever your mysql port has)
于 2011-08-07T13:07:05.317 に答える