sql >> Database teknologi >  >> RDS >> Mysql

MySQL giver læst ECONNRESET fejl efter inaktiv tid på node.js server

Jeg kontaktede node-mysql-folkene på deres Github-side og fik nogle faste svar.

  1. MySQL beskærer faktisk ledige forbindelser. Der er en MySQL-variabel "wait_timeout", der indstiller antallet af sekunder før timeout, og standarden er 8 timer. Vi kan indstille standarden til at være meget større end det. Brug show variables like 'wait_timeout'; for at se din timeout-indstilling og set wait_timeout=28800; for at ændre det.

  2. Ifølge dette problem , beskærer node-mysql ikke poolforbindelser efter denne slags afbrydelser. Moduludviklerne anbefalede at bruge et hjerteslag for at holde forbindelsen i live, såsom at kalde SELECT 1; på et interval. De anbefalede også at bruge node-pool-modulet og dens idleTimeoutMillis mulighed for automatisk at beskære inaktive forbindelser.



  1. Sådan bruger du index efficienty i mysql-forespørgsel

  2. Henter ændringer fra tabellen med ElasticSearch JDBC-floden

  3. Hvorfor kan easy_install ikke finde MySQLdb?

  4. JSON koder MySQL-resultater