2010-12-02 11 views
1

私のCMDにrails serverと入力すると、サーバが動作し、localhost:3000に移動できます。 しかし、私はCMDでこのmessegeを取得し、localhost:3000のブラウザで同じメッセージをエラーセクションに表示します。localhost(ruby on rails)でサーバを実行すると問題が発生する

Started GET "/rails/info/properties" for 127.0.0.1 at 2010-12-02 21:14:55 +0200 

Mysql2::Error (Access denied for user 'root'@'localhost' (using password: NO)): 

Rendered C:/Ruby192/lib/ruby/gems/1.9.1/gems/actionpack-3.0.3/lib/action_dispatc 
h/middleware/templates/rescues/_trace.erb (1.0ms) 
Rendered C:/Ruby192/lib/ruby/gems/1.9.1/gems/actionpack-3.0.3/lib/action_dispatc 
h/middleware/templates/rescues/_request_and_response.erb (30.0ms) 
Rendered C:/Ruby192/lib/ruby/gems/1.9.1/gems/actionpack-3.0.3/lib/action_dispatc 
h/middleware/templates/rescues/diagnostics.erb within rescues/layout (97.0ms) 

問題点は何ですか?

#のMySQLの:

は、ここではこれがdatabase.ymlのファイルです。バージョン4.1と5.0では、 が推奨されています。 #宝石mysql2 # #をインストールして、新しいスタイルのパスワードハッシュを使用してください: # #MySQLのドライバがインストール #http://dev.mysql.com/doc/refman/5.0/en/old-client.html 開発: アダプタ:mysql2 エンコーディング:UTF8 再接続:偽 データベース: simple_cms_development プール:5 ユーザ名:ルート パスワード: ホスト:

# Warning: The database defined as "test" will be erased and 
# re-generated from your development database when you run 

localhost "を熊手"。 #このdbを開発または本番と同じに設定しないでください。 テスト: アダプタ:mysql2 エンコーディング:UTF8 再接続:偽 データベース:simple_cms_test プール:5 ユーザ名:ルート パスワード: ホスト:

production: 
    adapter: mysql2 
    encoding: utf8 
    reconnect: false 
    database: simple_cms_production 
    pool: 5 
    username: root 
    password:passwordex 
    host: localhost 
+0

お願いします! help .. :) – gal

+0

あなたのMySQL DBサーバーはrootによるアクセスを許可していません。どのユーザーがMySQL用に設定されていますか? –

+0

私はみんな.. defuelt、私はこれをどのように変更することができますか? – gal

答えて

1

localhostをあなたのためにルートを使用していますmysqlユーザーが、config/database.ymlにルートパスワードを入力しません。

ちなみに、通常は開発が大丈夫ですが、プロダクションやステージングでrootのmysqlユーザーを使用するのは非常に悪いアイディアです。私はすでにあなたの問題への解決策を見つけたが、私はこの同じ渡ってつまずく可能性がある人のために、とにかく答えとしてこれを投稿するつもりです知って

production: 
    adapter: mysql 
    database: app_production 
    username: root 
    password: password 
    pool: 5 
    timeout: 5000 
    encoding: utf8 
+0

10x!だから私はここに= "password:" config/database.ymlファイルの書き込みをshoud?私はexmpaleのためのパスワードを書いた: "pass1234"のように:password:pass1234、それはsyntynがworng whats worngですか? 10倍の男! – gal

+0

私は典型的なMySQLの環境を示すために私の答えを編集した – karmajunkie

+0

はい、これは..私は何をすべきか – gal

3

は、ここでは代表的なMySQLのconfigセクションです問題。

同じ正確なAccess denied for user 'user'@'localhost' (using password: NO)の問題があると、私のdatabase.ymlファイルが不正な形式になっていました。理由? YAMLは特定の文字を許可していません:私は '!'私のパスワードで何らかの理由でYAMLパーサーがこのdatabase.ymlファイルを読んだのは私のパスワードラインが無視されていたので、明示的に宣言しても(using password: NO)でした。

解決策? YAMLの特殊文字を含まないようにパスワードを変更しました。私はそれを脱出する方法があるかもしれないと思う。それにもかかわらず、迷惑です。

+0

うわー。ありがとうございました。 – Overload119

+0

私の神。ありがとうございました。 – wesside

+0

引用符で囲むこともできます。 – wesside

関連する問題