15

私は MySQL をデータベースとして使用する Rails 開発初心者です。次のコマンドを使用して、MySQL に正常に接続できます。

    MySQL -u macDaddy -p

コマンドプロンプトで、ユーザーが有効であり、MySQL が実行されていることがわかります。でも走ろうとすると

    rake db:schema:dump

コマンド ラインで次のエラーが表示されます: rake aborted! 「localhost」の MySQL サーバーに接続できません (10061)

database.yml に何か問題がありますか? ここにあります:

    development:
      adapter: mysql2
      encoding: utf8
      reconnect: false
      database: bookmobile
      pool: 5
      username: macDaddy
      password: booklover
      host: localhost
      socket: mysql
      port: 3306

ポートとソケットの行も削除しようとしましたが、それでも同じエラーが発生します。助けてください。ここに私のバージョンがあります:

  • Windows 7 での開発
  • MySQL バージョン 14.14 ディストリビューション 5.5.21 for win64
  • サーバーバージョン 5.5.21
  • レール 3.2.1

ありがとう!

4

7 に答える 7

42

私の推測では、あなたが Windows として示したマシンでは、IPv6 ネットワークが有効になっていると思います。したがって、localhost にアクセスしようとすると、「::1」に解決されます。これは実際にはローカル マシンですが、通常、デフォルトの MySQL インストールでは bind-address が 127.0.0.1 に設定されているため、この設定で localhost が失敗します。

ping localhostコマンド プロンプトから実行して、次のような応答が得られるかどうかを確認することで、これを確認できる場合があります。

 Reply from ::1: time<1ms

これを修正するには、構成を変更して次を指定します。

 host: 127.0.0.1

または、MySQL の構成を変更して、別のバインド アドレス (127.0.0.1 の代わりに localhost など) を許可することもできます。

于 2012-05-29T04:33:50.510 に答える
6

ホストをhost:127.0.0.1に変更するだけです

于 2013-01-11T19:25:39.637 に答える
6

database.ymlのhostの値を「127.0.0.1」に変更する機能します。または、PC のホスト ファイルを変更して、項目を「localhost 127.0.0.1」として追加することもできます。

于 2013-06-08T11:08:22.117 に答える
1

MySQL の作成中に設定したポート番号 (例: 7777) を確認してください。適切な「ユーザー名」と「パスワード」を使用してポート番号を追加してください。

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

app ディレクトリの config ディレクトリにある database.yml にあります。

于 2016-02-08T15:29:27.577 に答える
1

データベースサーバー(mysql)にパスワードが設定されていないためです。これを試してください:

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: bookmobile
  pool: 5
  username: macDaddy
  password:
  host: localhost
  socket: mysql
  port: 3306
于 2012-05-29T04:30:36.907 に答える
0

mysql サーバーが実行されていることを確認します。

于 2013-10-09T05:36:12.123 に答える