mysql - AWS,尝试与 RDS 建立连接时的错误消息含义

标签 mysql node.js amazon-web-services

我是 AWS 新手,请帮助我。

正在关注本教程:enter tutorial link

创建了 RDS 并在 Visual Studio 代码中运行以下代码:

文件名:test.js

var mysql = require('mysql');
var config = require('./config.json');
var pool  = mysql.createPool({
    host     : config.dbhost,
    user     : config.dbuser,
    password : config.dbpassword,
    database : config.dbname
  });
pool.getConnection(function(err, connection) {
  // Use the connection
  connection.query('SELECT emp_name from Employee where emp_id=1', function (error, results, fields) {
    // And done with the connection.
    connection.release();
    // Handle error after the release.
    if (err) throw error;
    else console.log(results[0].emp_name);
    process.exit();
  });
});

但是,当我运行 node test.js 时, 它返回以下错误。

(base) zi-jies-mbp:sql zijie$ Node test.js /Users/zijie/node_modules/mysql/lib/protocol/Parser.js:437 抛出错误;//重新抛出非 MySQL 错误 ^

类型错误:无法读取未定义的属性“查询” 在/Users/zijie/Documents/I&E/Silverride/sql/test.js:11:14 在 Handshake.onConnect (/Users/zijie/node_modules/mysql/lib/Pool.js:58:9) 在握手时。 (/Users/zijie/node_modules/mysql/lib/Connection.js:525:10) 在 Handshake._callback (/Users/zijie/node_modules/mysql/lib/Connection.js:491:16) 在 Handshake.Sequence.end (/Users/zijie/node_modules/mysql/lib/protocol/sequences/Sequence.js:83:24) 在 Handshake.ErrorPacket (/Users/zijie/node_modules/mysql/lib/protocol/sequences/Handshake.js:125:8) 在 Protocol._parsePacket (/Users/zijie/node_modules/mysql/lib/protocol/Protocol.js:291:23) 在 Parser._parsePacket (/Users/zijie/node_modules/mysql/lib/protocol/Parser.js:433:10) 在 Parser.write (/Users/zijie/node_modules/mysql/lib/protocol/Parser.js:43:10) 在Protocol.write(/Users/zijie/node_modules/mysql/lib/protocol/Protocol.js:38:16)

请您分享并建议我错误的原因是什么,以及如何纠正它? 提前致谢。

最佳答案

根据您的错误

TypeError: Cannot read property 'query' of undefined at

看来连接对象没有创建。这可能是由于诸如

等因素的组合造成的
  • 您没有为连接传递正确的参数
  • RDS 安全组不允许连接(这似乎是使用该教程的多人面临的问题:查看评论)

关于mysql - AWS,尝试与 RDS 建立连接时的错误消息含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59367524/

相关文章:

当 Magento 同时被 300 个用户攻击时 mysql 消失了

node.js - NPM - 无法安装 socket.IO

php - 数据库总是接收相同的 ID

mysql - ASP.NET MVC 4、代码优先、MySQL

ios - 将 Socket IO 与 Express JS 结合使用

amazon-web-services - DynamoDB - 使用 PITR 恢复由 CloudFormation 管理的 DynamoDB 表

amazon-web-services - EMR 5.21、Spark 2.4 - Json4s 依赖被破坏

amazon-web-services - 在 AWS Glue 3.0 中使用 1900 年之前的时间戳编写 parquet 时出现问题

Mysql语法错误

node.js - 使用 AWS 的 Node Redis