【问题标题】:Getting error while NodeJs Azure Mysql connectionNodeJs Azure Mysql 连接时出错
【发布时间】:2021-07-06 17:36:35
【问题描述】:

我在使用 nodejs 中的“mysql”包连接到“azure mysql”数据库时遇到此错误。

错误:在 TCP.onStreamRead (internal/stream_base_commons.js:209:20) 读取 ECONNRESET -------------------- 在 Protocol._enqueue (C:\ Users\AMEY\Documents\MCA Projects\Email Portal\email-portal-backend\node_modules\mysql\lib\protocol\Protocol.js:141:48) 在 Protocol.handshake (C:\Users\AMEY\Documents\MCA Projects \Email Portal\email-portal-backend\node_modules\mysql\lib\protocol\Protocol.js:52:41) 在 Connection.connect (C:\Users\AMEY\Documents\MCA Projects\Email Portal\email-portal-后端\node_modules\mysql\lib\Connection.js:130:18)在对象。 (C:\Users\AMEY\Documents\MCA Projects\Email Portal\email-portal-backend\index.js:52:7) 在 Module._compile (internal/modules/cjs/loader.js:1063:30) 在Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) 在 Module.load (internal/modules/cjs/loader.js:928:32) 在 Function.Module._load (internal /modules/cjs/loader.js:769:14) 在 Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) 在 internal/main/run_main_module.js:17:47 { errno: - 4077, 代码: 'ECONNRESET',系统调用:'read',致命:true }

这是我的 createConnection 代码:

const conn2 = new mysql.createConnection({
    host: "*****.database.windows.net",
    port: 1433,
    user: "ameykhoje",
    password: "******",
    database: "dbname",
    ssl: true,
    debug: true })
conn2.connect((err) => {
if(err) {
    console.log(err)
}
else {
    console.log("connected to azure")
    app.listen(port, () => {
        console.log(`Connected to database`);
    });
}})

我也用 createPool 尝试过同样的方法。但是没用。

我还将 package.json 中的 mysql 包更新为:

"mysql": "git://github.com/mysqljs/mysql#e3e123e9af7c0829a6c1417d911572a75b4a5f95"

请帮我解决这个问题

【问题讨论】:

  • 这能回答你的问题吗? ECONNRESET error crashing NodeJS application
  • Nothing here?here - 请始终从谷歌搜索错误开始
  • 我试过了,但不知道为什么会出现这个错误。我可以连接到我的本地 mysql 数据库,但是当我尝试连接到 azure 时会抛出此错误。
  • 你连接的是 MySQL 数据库还是 SQL 数据库?
  • SQL 数据库..

标签: javascript mysql node.js azure azureportal


【解决方案1】:

您的数据库似乎不允许访问,您是否尝试检查 Azure 上的 ACL 以确保您允许来自主机的连接?

【讨论】:

    【解决方案2】:

    我相信问题是由于不正确的节点包引起的。您正在使用 mysql 节点包连接到 Azure SQL 数据库。

    您将需要使用mssql 节点包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-08
      • 2018-03-08
      • 2022-08-18
      • 2016-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多