【问题标题】:Why is my mysql database connection not working?为什么我的 mysql 数据库连接不起作用?
【发布时间】: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


【解决方案1】:

所以我的代码很好,但我没有收到错误,因为在我偶然调用 process.exit(0); 之后引发了错误。不过还是谢谢大家的帮助!

【讨论】:

  • 在这种情况下无需发布答案;此问题属于“不可重现”类别。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-31
  • 1970-01-01
  • 2018-03-01
  • 2018-10-08
  • 1970-01-01
  • 2013-01-29
  • 1970-01-01
相关资源
最近更新 更多