【发布时间】:2021-08-30 17:37:38
【问题描述】:
我正在构建一个工具来帮助我将数据插入数据库。它工作得很好,然后我决定改变一些东西,因为我发现了一个错误。
我正在使用 npm 并且已经安装了 'mysql' 包。
import { createConnection } from 'mysql';
const databaseData = JSON.parse(fs.readFileSync('./database.json'));
const connection = createConnection(databaseData);
connection.connect((error) => {
if (error) throw error;
console.log('Connected');
});
我使用的是 .mjs 而不是常规的 .js 文件扩展名,所以我可以使用 import,所以这不是问题。
问题是,没有错误,我的代码执行得很好,但是之后没有消息进入控制台,连接状态是“断开连接”并且我的查询没有执行。
database.json文件内容为:
{
"host": "w00c243c.kasserver.com",
"user": "d0315584",
"password": "PASSWORD",
"database": "d0315584"
}
(PASSWORD 是实际密码)
上面的代码只是整个 index.mjs 文件的一部分,但其余的工作正常,这是这个问题最重要的一段代码。
我已经测试了很多(databaseData被正确读取,没有错误,代码正在执行,一切正常,只有connect((error) => { ... });被完全忽略)
【问题讨论】:
-
您的控制台是否曾经显示“已连接”?
-
没有我的控制台,正如我所说,仍然是空的。
-
console.log(databaseData) 看看是否符合您的预期。
-
请显示您的
database.json的内容以及抛出的错误(如果有)。如果没有这些细节,我们真的无能为力,代码看起来还不错 -
当我尝试你的代码时,我得到
ER_ACCESS_DENIED_ERROR(如预期的那样)。你到底是怎么运行这个的?
标签: javascript mysql node.js database npm