首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取mysql:尽管在NodeJs中使用createPool,但“连接太多了”

获取mysql:尽管在NodeJs中使用createPool,但“连接太多了”
EN

Stack Overflow用户
提问于 2018-12-20 06:33:43
回答 1查看 4.4K关注 0票数 1

我使用可观测数据在Angular2+应用程序中显示实时数据,后端是用使用MySQL数据库的NodeJs编写的。由于我使用的是可观测数据,我需要数以千万计的MySQL连接来保持实时工作。

但我们不可能获得如此多的联系。因此,我使用了池,其中连接是从连接池创建的。然而,我没有执行它。我仍然会发现错误:

错误: ER_CON_COUNT_ERROR:太多连接“

如何关闭连接,使连接的数量不超过这些连接?

前端代码:

angular.component.ts

代码语言:javascript
复制
Observable.interval(10000).subscribe(x => {

  this.viewData(Val);

  // more functions

  console.log(" Observable")
});

NodeJS代码:

dashboard.service.js

代码语言:javascript
复制
function viewData(data) {

    var sqlQuery = `
    select * from TRANSACTION_PAYLOAD where INTERFACE_NAME = 'Highmark' AND (STATUS ='SUCCESS_RESPONSE')`

    var deferred = Q.defer();
    console.log("INSIDE NODE JS SERVICE");

    var host = config.host;
    var user = config.user;
    var password = config.password;
    var database = config.database;

    var con = mysql.createPool({
        host: host,
        user: user,
        password: password,
        database: database
    });

    con.getConnection(function (err) {
        console.log("Inside .getConnection ")

        if (err) deferred.reject(err.name + ': ' + err.message);

        con.query(sqlQuery,
            function (err, result, fields) {
                if (err) deferred.reject(err.name + ': ' + err.message);


                console.log(result);
                deferred.resolve(result);
            });
    });
    return deferred.promise; 
    con.close();
}
EN

回答 1

Stack Overflow用户

发布于 2018-12-20 06:44:39

您正在为每个请求创建mysql池。你应该有一个连接池。

连接池自动管理到mysql服务器的连接。

您需要从函数中取出连接池初始化。

把连接拉出来

代码语言:javascript
复制
const mysqlConOptions = {
    host: host,
    user: user,
    password: password,
    database: database
};
var conPool = mysql.createPool(mysqlConOptions);

在你的职责范围内,

代码语言:javascript
复制
conn = await conPool.getConnection();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53863521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档