【发布时间】:2019-03-19 13:10:33
【问题描述】:
我正在使用 node.js 和 mysql 数据库。
我正在使用这样的配置:
var mysql = require('mysql');
var client = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'java1234',
port: '3306',
database: 'sample'
});
然后我收到以下错误消息:
错误:ER_ACCESS_DENIED_ERROR:拒绝用户访问 'root'@'localhost'(使用密码:否) 在 Handshake.Sequence._packetToError (C:\node\test11_users\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14) 在 Handshake.ErrorPacket (C:\node\test11_users\node_modules\mysql\lib\protocol\sequences\Handshake.js:124:18) 在 Protocol._parsePacket (C:\node\test11_users\node_modules\mysql\lib\protocol\Protocol.js:278:23) 在 Parser.write (C:\node\test11_users\node_modules\mysql\lib\protocol\Parser.js:76:12) 在 Protocol.write (C:\node\test11_users\node_modules\mysql\lib\protocol\Protocol.js:38:16) 在套接字。 (C:\node\test11_users\node_modules\mysql\lib\Connection.js:91:28) 在套接字。 (C:\node\test11_users\node_modules\mysql\lib\Connection.js:502:10) 在 emitOne (events.js:116:13) 在 Socket.emit (events.js:211:7) 在 addChunk (_stream_readable.js:263:12) -------------------- 在 Protocol._enqueue (C:\node\test11_users\node_modules\mysql\lib\protocol\Protocol.js:144:48) 在 Protocol.handshake (C:\node\test11_users\node_modules\mysql\lib\protocol\Protocol.js:51:23) 在 Connection.connect (C:\node\test11_users\node_modules\mysql\lib\Connection.js:118:18) 在 Connection._implyConnect (C:\node\test11_users\node_modules\mysql\lib\Connection.js:453:10) 在 Connection.query (C:\node\test11_users\node_modules\mysql\lib\Connection.js:198:8) 在 C:\node\test11_users\routes\users.js:26:10 在 Layer.handle [as handle_request] (C:\node\test11_users\node_modules\express\lib\router\layer.js:95:5) 在下一个(C:\node\test11_users\node_modules\express\lib\router\route.js:137:13) 在 Route.dispatch (C:\node\test11_users\node_modules\express\lib\router\route.js:112:3) 在 Layer.handle [as handle_request] (C:\node\test11_users\node_modules\express\lib\router\layer.js:95:5)
但我无法解决这个问题。 谢谢你的解释。
【问题讨论】:
-
这基本上意味着您的凭据不正确。你能在外面访问 mySQL 吗?
-
如何在外面访问mysql?你是说工作台吗?
-
是或 phpadmin 什么都可以。尝试使用上述凭据登录。
-
我可以使用 Workbench surly 访问 mysql。但只有 node.js 不工作
-
进入工作台中的用户和权限页面,检查那里
root的配置。