ER_CON_COUNT_ERROR:node-mysql中的连接错误太多 [英] ER_CON_COUNT_ERROR: Too many connections error in node-mysql

查看:681
本文介绍了ER_CON_COUNT_ERROR:node-mysql中的连接错误太多的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是节点初学者。以下是我尝试使用节点mysql执行的代码,但它一直给我这个错误:

I'm a node beginner. Following is the code that I'm trying to execute using node mysql but it keeps giving me this error:

error connecting: Error: ER_CON_COUNT_ERROR: Too many connections

:: CODE ::

::CODE::

var size = item.length;// size is ~1500
for (var i=0; i<size;i++) {
    var connection = mysql.createConnection({
        host     : 'xxx.xxx.xxx.xxx',
        database : 'mydb',
        user     : 'test',
        password : 'test'
    });

    connection.connect(function(err, callback) {
        if (err) {
            console.error('error connecting: ' + err.stack);
            return;
        }
    });

    var entry = {
        id: item[i],
        time_created: Math.floor(Date.now() / 1000),
        time_created: Math.floor(Date.now() / 1000),
        price_range: 0
    };


    var query = connection.query('INSERT INTO mytable SET ?', entry, function(err, result, callback) {
        if(err) {
            console.log(err.message);
        }
    });

    connection.end(function(err) {
        if(err) {
            console.log(err.message);
        }
    });
}

如何重新设计上述代码才能成功执行?

How should I re-design the above code to successfully execute it?

推荐答案

首先,您不需要1500个连接即可插入1500个项目。从for循环中删除该代码。

First you don't need 1500 connections to insert 1500 items. Remove that code out of your for loop.

这样的事情:

var size = item.length;// size is ~1500
var connection = mysql.createConnection({
    host     : 'xxx.xxx.xxx.xxx',
    database : 'mydb',
    user     : 'test',
    password : 'test'
});

connection.connect(function(err, callback) {
    if (err) {
        console.error('error connecting: ' + err.stack);
        return;
    }
});

connection.end(function(err) {
    if(err) {
        console.log(err.message);
    }
});

for (var i=0; i<size;i++) {
    var entry = {
        id: item[i],
        time_created: Math.floor(Date.now() / 1000),
        time_created: Math.floor(Date.now() / 1000),
        price_range: 0
    };


    var query = connection.query('INSERT INTO mytable SET ?', entry, function(err, result, callback) {
       if(err) {
          console.log(err.message);
       }
    });
};

这篇关于ER_CON_COUNT_ERROR:node-mysql中的连接错误太多的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆