关于 node.js 和 mysql
Posted
技术标签:
【中文标题】关于 node.js 和 mysql【英文标题】:About node.js with 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
的配置。
【参考方案1】:
从连接选项中删除端口并尝试
var mysql = require('mysql');
var connection = mysql.createConnection(
host : 'localhost',
user : 'root',
password : 'java1234',
database : 'sample'
);
connection.connect();
【讨论】:
以上是关于关于 node.js 和 mysql的主要内容,如果未能解决你的问题,请参考以下文章