sql >> Database >  >> RDS >> Mysql

SQLAlchemy/MySQL Verbinding met MySQL-server verbroken tijdens query

het lijkt erop dat je MySQL-verbinding een time-out heeft na een lange periode van inactiviteit, ik wed dat dit niet zal gebeuren als je constant je DB opvraagt ​​met bestaande instellingen. Er zijn een aantal instellingen aan zowel de MySQL- als de sql-zijde die dit probleem zouden moeten oplossen:

  1. controleer de pool_recycle van uw SQLa-engine waarde, probeer een andere / kleinere waarde, b.v. 1800 (sec). Als u DB-instellingen uit een bestand leest, stelt u deze in als

    pool_recycle:1800

geef het anders op tijdens het opstarten van de motor, bijv.

from sqlalchemy import create_engine
e = create_engine("mysql://user:[email protected]/db", pool_recycle=1800)
  1. controleer / wijzig uw wait_timeout MySQL-variabele, zie https://dev .mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout dat is het aantal seconden dat de server wacht op activiteit op een niet-interactieve verbinding voordat deze wordt gesloten. bijv.

    toon globale variabelen zoals 'wait_timeout';

vind een combinatie die werkt voor uw omgeving.



  1. Referentie-alias (berekend in SELECT) in WHERE-component

  2. Implementatie van MySQL-hashfunctie

  3. Laatst verwijderde ID ophalen in MySQL

  4. Hoe het hiërarchiepad voor een boomweergave te vinden