2012-05-04 11 views
1

mysqlを使用して動作するnode.jsアプリケーションを取得しようとしています。私はsudoのノードapp.jsを実行し、私はこのエラーを取得する:エラー:mysqlでNode.jsのアクセスが拒否されました

Express server listening on port 80 in development mode 

events.js:48 
     throw arguments[1]; // Unhandled 'error' event 
        ^
Error: Access denied for user 'root'@'localhost' (using password: YES) 
    at cmd.process_packet (/Users/.../Documents/Code/.../node_modules/mysql-native/lib/mysql-native/command.js:35:15) 
    at SocketClient.dispatch_packet (/Users/.../Documents/Code/.../node_modules/mysql-native/lib/mysql-native/socketclient.js:105:32) 
    at Socket.<anonymous> (/Users/.../Documents/Code/.../node_modules/mysql-native/lib/mysql-native/socketclient.js:59:18) 
    at Socket.emit (events.js:67:17) 
    at TCP.onread (net.js:362:31) 

私はmysqlのためのセキュアなユーザ名とパスワードを設定したが、それはsudoのための1以外にパスワードの入力を求めていません。私はnode.jsと特にmysqlの初心者ですので、どんな助けもありがとうございます。

+0

アプリケーションにアクセス権を与えるために編集しなければならない設定ファイルがありますか?アプリケーションを 'root'として実行していますか? – sarnold

+0

設定ファイルはどこにありますか?根本がどうなるかわかりません、申し訳ありません。 – Anoel

+0

MySQLに接続するために使用するサーバとポートまたはソケットをアプリケーションに知らせるために、おそらく_something_を設定しなければなりませんでした。その設定にはユーザー名とパスワードも含まれます。 'root'はスーパーユーザーアカウントで、uidが' 0'です。アプリケーションを起動するときに 'root 'として実行していますか? – sarnold

答えて

1

私は前にこれをやった人に連絡し、彼はそれを通して私を助けました。基本的に私はmysqlの-u root -pでmysqlに接続し、パスワードを入力してデータベースを作成し、そのデータベースを使用してすべてのデータベース情報を入力しました。次に、db.authの下のapi.jsの括弧内に、データベース名、私のユーザー名とパスワードをカンマで区切った文字列として入れます。別の端末タブで、私はnode.jsアプリケーションを実行し、それがうまくいった。

関連する問題