我是 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/