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

SQLAlchemy/MySQL Mistet forbindelse til MySQL-server under forespørgsel

Det ser ud til, at din MySQL-forbindelse er ved at udløbe efter en lang periode med inaktivitet, jeg vil vædde på, at det ikke sker, hvis du konstant forespørger på din DB med eksisterende indstillinger. Der er et par indstillinger på både MySQL og sql sider, som burde løse dette problem:

  1. tjek din SQLa-motors pool_recycle værdi, prøv anden/mindre værdi, f.eks. 1800 (sek.). Hvis du læser DB-indstillinger fra fil, skal du indstille den som

    pool_recycle:1800

ellers specificer det under motorstart, f.eks.

from sqlalchemy import create_engine
e = create_engine("mysql://user:[email protected]/db", pool_recycle=1800)
  1. tjek/rediger din wait_timeout MySQL-variabel, se https://dev .mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout som er det antal sekunder, serveren venter på aktivitet på en ikke-interaktiv forbindelse, før den lukkes. f.eks.

    vis globale variabler som 'wait_timeout';

find en kombination, der virker for dit miljø.



  1. Stop med at få SQL Server til at udføre dit beskidte arbejde

  2. Materialiseret visning i mysql

  3. Hvordan hentes resultatet fra MySQL-rækken med flere kolonner med samme navn med PHP?

  4. Sammenlægning af to rækker til én, mens nulværdier erstattes