【问题标题】:Facing issue with mysql database with node js使用节点 js 面临 mysql 数据库的问题
【发布时间】:2020-05-04 09:08:41
【问题描述】:

我已经使用 mysql 数据库创建了 express 应用程序。 当我调用 mysql 查询时它工作正常,然后我调用我的视图。加载视图需要几分钟(2-3 分钟),应用程序因以下错误而崩溃。

events.js:287 投掷者; // 未处理的“错误”事件 ^

错误:读取 ECONNRESET 在 TCP.onStreamRead (internal/stream_base_commons.js:205:27) 在 Connection 实例上发出“错误”事件: 在 Connection._handleProtocolError (C:\Users\AMW\Desktop\dishmize\dishmize\node_modules\mysql\lib\Connection.js:423:8) 在 Protocol.emit (events.js:310:20) 在 Protocol.EventEmitter.emit (domain.js:482:12) 在 Protocol._delegateError (C:\Users\AMW\Desktop\dishmize\dishmize\node_modules\mysql\lib\protocol\Protocol.js:398:10) 在 Protocol.handleNetworkError (C:\Users\AMW\Desktop\dishmize\dishmize\node_modules\mysql\lib\protocol\Protocol.js:371:10) 在 Connection._handleNetworkError (C:\Users\AMW\Desktop\dishmize\dishmize\node_modules\mysql\lib\Connection.js:418:18) 在 Socket.emit (events.js:310:20) 在 Socket.EventEmitter.emit (domain.js:482:12) 在 emitErrorNT (internal/streams/destroy.js:92:8) 在 emitErrorAndCloseNT (internal/streams/destroy.js:60:3) { 错误号:'ECONNRESET', 代码:'ECONNRESET', 系统调用:'读', 致命:真实 } [nodemon] 应用程序崩溃 - 启动前等待文件更改...

我已经花了 8-10 个小时。 请帮我解决这个问题。 谢谢

更新:

const options = { 
    user: config.get('MYSQL_USER'), 
    password: config.get('MYSQL_PASSWORD'), 
    database:config.get('DATABASE'), 
    host: config.get('HOST'), 
    port: 3306 
} 

const connection = mysql.createConnection(options); 
connection.connect( function (err) { 
    if (err) { 
        console.log("!!! Cannot connect !!! Error:"); throw err; 
    } else { 
        console.log("Connection established."); 
    } 
});

【问题讨论】:

  • 创建一个连接池而不是单个连接。
  • 请分享您的 MySQL 连接代码 sn-p。
  • const options = { 用户:config.get('MYSQL_USER'),密码:config.get('MYSQL_PASSWORD'),数据库:config.get('DATABASE'),主机:config.get ('HOST'), 端口:3306 } const connection = mysql.createConnection(options); connection.connect( function (err) { if (err) { console.log("!!! 无法连接 !!! Error:"); throw err; } else { console.log("Connection established."); } });

标签: mysql node.js database-connection unhandled-exception


【解决方案1】:

在下面使用

const options = { connectionLimit :10, user:config.get('MYSQL_USER'), password: config.get('MYSQL_PASSWORD'), database:config.get('DATABASE'), host: config.get('HOST'), port: 3306 } 
const connection_pool = mysql.createPool(options); 

connection_pool.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
  if (error) throw error;
  console.log('The solution is: ', results[0].solution);
});

根据你的使用提供connectionLimit这是连接池的大小

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-08
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 2011-10-26
    • 1970-01-01
    相关资源
    最近更新 更多