-1
特定のユーザーとパスワードを使用して同じマシン(debian)上で実行されるMySqlデータベースにノードから接続しようとすると、「アクセスが拒否されました」というエラーが発生します。 同じユーザーで、データベースとノードにパスワードを設定しないと、すべてが動作します。ノードJSを使用したMySqlへの接続と続行
また、端末のWITHパスワードからの接続も正常に動作します。 私はすでにユーザーとデータベースを削除して再作成しようとしました。しかし、何も動作しません。
これは私のノードのコードです:
Possibly unhandled Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'user'@'localhost' (using password: YES)
at Handshake.Sequence._packetToError (/var/www/html/node/node_modules/mysql/lib/protocol/sequences/Sequence.js:30:14)
at Handshake.ErrorPacket (/var/www/html/node/node_modules/mysql/lib/protocol/sequences/Handshake.js:67:18)
at Protocol._parsePacket (/var/www/html/node/node_modules/mysql/lib/protocol/Protocol.js:197:24)
at Parser.write (/var/www/html/node/node_modules/mysql/lib/protocol/Parser.js:62:12)
at Protocol.write (/var/www/html/node/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:191:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
--------------------
at Protocol._enqueue (/var/www/html/node/node_modules/mysql/lib/protocol/Protocol.js:110:26)
at Protocol.handshake (/var/www/html/node/node_modules/mysql/lib/protocol/Protocol.js:42:41)
at Connection.connect (/var/www/html/node/node_modules/mysql/lib/Connection.js:81:18)
at ConnectorManager.connect (/var/www/html/node/node_modules/sequelize/lib/dialects/mysql/connector-manager.js:314:16)
at Object.create (/var/www/html/node/node_modules/sequelize/lib/dialects/mysql/connector-manager.js:138:19)
at createResource (/var/www/html/node/node_modules/generic-pool/lib/generic-pool.js:258:13)
at dispense (/var/www/html/node/node_modules/generic-pool/lib/generic-pool.js:250:9)
at Object.me.acquire (/var/www/html/node/node_modules/generic-pool/lib/generic-pool.js:316:5)
at CustomEventEmitter.fct (/var/www/html/node/node_modules/sequelize/lib/dialects/mysql/connector-manager.js:248:19)
at CustomEventEmitter.<anonymous> (/var/www/html/node/node_modules/sequelize/lib/emitters/custom-event-emitter.js:24:18)
どれ手がかり:私は、コンソール上で何を得る
var http = require('http');
var fs = require('fs');
var Sequelize = require('sequelize')
var sequelize = new Sequelize('mysql://user:[email protected]:3306/databasename');
http.createServer(function (req, res) {
console.dir(req.url);
sequelize.query("SELECT @@version;").spread(function(results, metadata) {
console.log(results);
})
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('ok');
}).listen(8080);
はこれですか?
パスワードに、そのようなURIで問題が発生する可能性のある文字が含まれていますか?パーセント記号、アンパサンド、プラス記号など – robertklep
いいえ、そんなことはありません。私はmysqljsで同じことを試み、同じエラーが発生しました... – CPlusPlus
'mysql -uuser -p databasename'は(パスワードを入力した後で)動作しますか? – robertklep