【问题标题】:About node.js with mysql关于 node.js 和 mysql
【发布时间】: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的配置。

标签: mysql node.js


【解决方案1】:

从连接选项中删除端口并尝试

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

connection.connect();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 2022-12-02
    • 2010-11-18
    • 1970-01-01
    • 2011-04-22
    相关资源
    最近更新 更多