2017-01-08 5 views
0

私はMacコンピュータを持っています。私は正常にMySQLをインストールしました。私はターミナルからmysqlを使用できるので、これを知っています。私もクエリを実行し、それは正常に動作します。WebStormでMySQLを使用すると動作しない

WebStormを使用してNode.jsを学習しようとしています。だから、WebStormで、私はpackage.json

{ 
    "dependencies":{ 
    "mysql":"~2.0.0" 
    } 
} 

で、私のプロジェクトを作成し、私は、MySQLモジュールをインストールするnpm installを実行します。私はresultsのログundefinedを保持する次のコードを実行します。何が欠けているのか?

'use strict'; 

var mysql = require('mysql'); 
var connection = mysql.createConnection({ 
    host:'localhost', 
    user:'root', 
    password:'myPassword' 
}); 

connection.query(
    'SELECT "foo" as first_field, "bar" as second_field', 
    function(err,results,fields){ 
     console.log(results); 
     connection.end(); 
    } 
); 

私はエラーのためにログインすると、私は次のトレースを取得:

resutls is:: undefined 
{ Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: YES) 
    at Handshake.Sequence._packetToError (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/protocol/sequences/Sequence.js:30:14) 
    at Handshake.ErrorPacket (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/protocol/sequences/Handshake.js:67:18) 
    at Protocol._parsePacket (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/protocol/Protocol.js:197:24) 
    at Parser.write (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/protocol/Parser.js:62:12) 
    at Protocol.write (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/protocol/Protocol.js:37:16) 
    at Socket.ondata (_stream_readable.js:555:20) 
    at emitOne (events.js:101:20) 
    at Socket.emit (events.js:188:7) 
    at readableAddChunk (_stream_readable.js:176:18) 
    at Socket.Readable.push (_stream_readable.js:134:10) 
    -------------------- 
    at Protocol._enqueue (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/protocol/Protocol.js:110:26) 
    at Protocol.handshake (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/protocol/Protocol.js:42:41) 
    at Connection.connect (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/Connection.js:81:18) 
    at Connection._implyConnect (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/Connection.js:222:10) 
    at Connection.query (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/Connection.js:137:8) 
    at Object.<anonymous> (/Users/mename/WebstormProjects/nodesql/index.js:10:12) 
    at Module._compile (module.js:570:32) 
    at Object.Module._extensions..js (module.js:579:10) 
    at Module.load (module.js:487:32) 
    at tryModuleLoad (module.js:446:12) 
    code: 'ER_ACCESS_DENIED_ERROR', 
    errno: 1045, 
    sqlState: '28000', 
    fatal: true } 
+0

;'端末から、それを'password'フィールドはないと言います –

+0

エラーは' root'ユーザがここに接続できないことを明示しています。 'root'ユーザは、TCP接続専用のソケットまたは同様のものを介してログインすることはできません。それはすべてセキュリティ上の目的です。したがって、そのような場合をデバッグする最も良い方法は、通常のユーザ(例えば 'my_user')を作成し、必要なDB(またはここで適用したい制限)にのみ権限を与えることです。そのようなユーザーのホスト/ IPからのアクセスを許可します。 – LazyOne

答えて

1

私はあなたの問題はWebStormに関連しているとは思いません。 MySQLにログインする資格が間違っているようです。

コマンドラインで認証情報でログインしようとしましたか?それは働いているのですか、ログインが拒否されていますか?おそらくrootログインは許可されません。 CLIへのログインが可能な場合、おそらく

次の答えの一つは、あなたを助けている:私は `を選択し、ユーザー、ホスト、mysql.userからパスワードしようとすると、また

https://superuser.com/questions/603026/mysql-how-to-fix-access-denied-for-user-rootlocalhost

+0

。非常に問題は、私は全くターミナルを使用して問題がないことを述べています。おそらくあなたはこれで私を助けることができます。ポートを指定すると、たとえば8889と表示され、 'Error:connect ECONNREFUSED 127.0.0.1:8889'と表示されます。これは、localhostが '127.0.0.1'に変換されていることを意味しています。そして、今トラブルシューティングとして私はターミナルでユーザーを作成し、私のコードを実行しようとしています。しかし、ユーザーを作成しても効果はありませんが、Webstormのエラーは変わりません。私は正常に 'CREATE USER 'としてユーザーを作成します。root'@'127.0.0.1' IDENTIFIED BY 'mypassword'' –

+0

すべてのドメインの' root'ユーザーを作成できますか? 'CREATE USER' root '@'% 'は' xxx 'で識別されていなければなりません。さらに、その特定のアカウントにはおそらくデータベースに対する権利がありません。それで、あなたはそれを次のように拡張することができます: '*。* * 'root' @ '%' IDで 'パスワード'; ' –

+0

ありがとう。私はそれを試みた。しかし、アクセスはまだ拒否されています。ターミナルでも問題はありません。しかし、ノードjsコードを実行すると、動作しません。 –

関連する問題