【问题标题】:NodeJS and MYSQL - ER_ACCES_DENIED_ERROR: Acces denied for ''@'localhost' (using password: NO)节点 JS 和 MYSQL - ER_ACCESS_DENIED_ERROR: Access denied for ''@'localhost' (使用密码: NO)
【发布时间】:2018-10-26 09:29:02
【问题描述】:

我正在学习 Node JS,我正在尝试将它与我的 sql 连接,但是当我尝试运行 node.js 时出现以下错误。

C:\Users\daniel.gutierrez\Desktop\Portal>node index.js
odizimcomisrunning  localhost: 3000
C:\Users\daniel.gutierrez\Desktop\Portal\node_modules\mysql\lib\protocol\Parser.
s:80
       throw err; // Rethrow non-MySQL errors
       ^

Error: ER_ACCESS_DENIED_ERROR: Access denied for user ''@'localhost' (using pass
ord: NO)
   at Handshake.Sequence._packetToError (C:\Users\daniel.gutierrez\Desktop\Port
al\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14)
   at Handshake.ErrorPacket (C:\Users\daniel.gutierrez\Desktop\Portal\node_modu
les\mysql\lib\protocol\sequences\Handshake.js:124:18)
   at Protocol._parsePacket (C:\Users\daniel.gutierrez\Desktop\Portal\node_modu
les\mysql\lib\protocol\Protocol.js:278:23)
   at Parser.write (C:\Users\daniel.gutierrez\Desktop\Portal\node_modules\mysql
\lib\protocol\Parser.js:76:12)
   at Protocol.write (C:\Users\daniel.gutierrez\Desktop\Portal\node_modules\mys
ql\lib\protocol\Protocol.js:38:16)
   at Socket.<anonymous> (C:\Users\daniel.gutierrez\Desktop\Portal\node_modules
\mysql\lib\Connection.js:91:28)
   at Socket.<anonymous> (C:\Users\daniel.gutierrez\Desktop\Portal\node_modules
\mysql\lib\Connection.js:502:10)
   at emitOne (events.js:116:13)
   at Socket.emit (events.js:211:7)
   at addChunk (_stream_readable.js:263:12)
   --------------------
   at Protocol._enqueue (C:\Users\daniel.gutierrez\Desktop\Portal\node_modules\
mysql\lib\protocol\Protocol.js:144:48)
   at Protocol.handshake (C:\Users\daniel.gutierrez\Desktop\Portal\node_modules
\mysql\lib\protocol\Protocol.js:51:23)
   at Connection.connect (C:\Users\daniel.gutierrez\Desktop\Portal\node_modules
\mysql\lib\Connection.js:118:18)
   at Connection._implyConnect (C:\Users\daniel.gutierrez\Desktop\Portal\node_m
odules\mysql\lib\Connection.js:453:10)
   at Connection.query (C:\Users\daniel.gutierrez\Desktop\Portal\node_modules\m
ysql\lib\Connection.js:198:8)
   at Object.<anonymous> (C:\Users\daniel.gutierrez\Desktop\Portal\public\confi
g\passport.js:10:16)
   at Module._compile (module.js:652:30)
   at Object.Module._extensions..js (module.js:663:10)
   at Module.load (module.js:565:32)
   at tryModuleLoad (module.js:505:12)

这看起来像我的用户声明未包含在变量中。这是我的连接模块。

// node-mysql
var mysql = require('mysql');

// Conexion a exportar
var connection = mysql.createConnection({
    host: 'localhost',
    port: 3306,
    user: 'root',
    password: 'password',
    database: 'db_test',
});

// Evento en case de error
connection.on('error', function(err) {
    console.log(err.code);
});

// Exportar la variable como modulo
module.exports.connection = connection;

可以帮我解决这个错误吗?

提前致谢。

【问题讨论】:

  • 确保您输入了正确的用户名
  • 是的,我做到了....并且我在 MySQL 服务器中创建了一个具有与“root”相同权限的新用户,但使用它时出现相同的错误。

标签: mysql node.js database


【解决方案1】:

所以作为一个测试,我可能会建议将“on-connection”部分更改为:

connection.connect((err) => {
if (err) throw err;
console.log("Connected!");
});

这只是检查您的程序是否可以连接到数据库 // Adicionalmente, puedes quitar el "port: 3306" en tu declaración de connection ya que este puerto es el normal de MySQL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-02
    • 2020-08-25
    • 1970-01-01
    • 2022-10-31
    • 1970-01-01
    • 2021-12-27
    相关资源
    最近更新 更多