1
resposta

Error: ER_CON_COUNT_ERROR: Too many connections

Olá pessoal,

tenho o seguinte problema:

node:internal/process/promises:265
            triggerUncaughtException(err, true /* fromPromise */);
            ^

Error: ER_CON_COUNT_ERROR: Too many connections

crio a conexão:

var mysql = require('mysql');

module.exports = function() {
    return mysql.createConnection({
        multipleStatements: true,
        host: '127.0.0.1',
        user: 'root',
        password: 'root',
        database: 'dataBase',
        waitForConnections: true,
        connectionLimit: 10,
        connectTimeout: 15000,
        rowsAsArray: false,
        enableKeepAlive: true,
    });
}

no controller abro a conexão,

var db = require('../db')
const connection = db()
    ->query
connection.end()

O connection.end() encerra a conexão mas não atualiza o numero de conexões fechadas?

1 resposta

Fernando, tudo bem? Acho que pode não ser exatamente isso. Como não tenho o contexto completo do problema, vou chutar o que pode estar acontecendo, pode ser que o número de connections abertas esteja chegando ao limite antes mesmo do MySQL conseguir fechar algumas delas. Lembrando que o .end é assíncrono, então ele vai fechar, mas não exatamente no momento da chamada da função e isso faz a contagem de conexões ter um delay também.

Outro ponto que vale a pena pensar é se o MySQL está configurado para permitir essa quantidade de conexões simultâneas, ele pode estar configurado apenas para 5 e de repente o Node está tentando abrir 10, o que pode gerar um problema como esse eu acredito.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software