sql >> Databasteknik >  >> RDS >> Mysql

ER_CON_COUNT_ERROR:För många anslutningsfel i node-mysql

MySQL accepterar som standard endast 100 samtidiga anslutningar max. I ditt fall skapar du ~1500 så felet du får är normalt. Du kan öka detta värde men problemet här ligger i din kod.

Du bör använda en pool istället. Detta kommer att få noden att skapa en pool av anslutningar (jag tror att standarden är 10) och låta dem delas av dina frågor:

    var mysql = require('mysql');
    var pool  = mysql.createPool({
        host     : 'xxx.xxx.xxx.xxx',
        database : 'mydb',
        user     : 'test',
        password : 'test'
    });
    for (var i=0; i<size;i++) {
        pool.getConnection(function(err, connection) {
          connection.query( 'INSERT INTO ...', function(err, rows) {
            connection.release();
          });
        });
    }

Du kanske också vill överväga att använda en enda anslutning och sätta in allt på en gång. Du kan se i detta svara på hur man uppnår det.



  1. Bättre att använda nolldatum '0000-00-00 00:00:00' eller NULL i MySQL?

  2. MySQL Välj datum lika med idag

  3. Jämför arrayer för likhet, ignorera ordningen av element

  4. Hur man lagrar ett unikt GCM-registrerings-id i MySQL