Mysql
 sql >> Baza danych >  >> RDS >> Mysql

ER_CON_COUNT_ERROR:Błąd zbyt wielu połączeń w node-mysql

MySQL domyślnie akceptuje maksymalnie 100 jednoczesnych połączeń. W twoim przypadku tworzysz ~1500, więc wyświetlany błąd jest normalny. Możesz zwiększyć tę wartość, ale problem tkwi w Twoim kodzie.

Zamiast tego powinieneś użyć basenu. Spowoduje to, że węzeł utworzy pulę połączeń (myślę, że domyślnie jest to 10) i pozwoli na ich współdzielenie przez twoje zapytania:

    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();
          });
        });
    }

Możesz również rozważyć użycie jednego połączenia i wstawić wszystko na raz. Możesz zobaczyć w tym odpowiedz, jak to osiągnąć.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie, aby znaleźć duplikaty między nazwiskiem a numerem w tabeli

  2. Hibernacja mysql čć

  3. PHP - Wstaw datę do mysql

  4. Format daty konwersji PHP

  5. Jak wygenerować DDL dla wszystkich tabel w bazie danych w MySQL?