sql >> Databasteknik >  >> RDS >> Mysql

SQLAlchemy/MySQL Förlorade anslutningen till MySQL-servern under förfrågan

ser ut som att din MySQL-anslutning tar slut efter en lång period av inaktivitet, jag slår vad om att det inte kommer att hända om du ständigt frågar din DB med befintliga inställningar. Det finns ett par inställningar på både MySQL och sql-sidor som borde lösa det här problemet:

  1. kontrollera din SQLa-motors pool_recycle värde, prova annat/mindre värde, t.ex. 1800 (sek.). Om du läser DB-inställningar från filen, ställ in den som

    pool_recycle:1800

annars specificera det under motorstart, t.ex.

from sqlalchemy import create_engine
e = create_engine("mysql://user:[email protected]/db", pool_recycle=1800)
  1. kontrollera / ändra din wait_timeout MySQL-variabel, se https://dev .mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout vilket är antalet sekunder som servern väntar på aktivitet på en icke-interaktiv anslutning innan den stänger den. t.ex.

    visa globala variabler som 'wait_timeout';

hitta en kombination som fungerar för din miljö.



  1. Designa en databas för ett rekryteringssystem

  2. SQL Server SHOWPLAN_TEXT

  3. Hur returnerar man flera rader från den lagrade proceduren? (Oracle PL/SQL)

  4. Skapa en tabell med aritmetiskt spillfel