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

SQLAlchemy/MySQL Connessione persa al server MySQL durante la query

sembra che la tua connessione MySQL stia scadendo dopo un lungo periodo di inattività, scommetto che non accadrà se esegui costantemente query sul tuo DB con le impostazioni esistenti. Ci sono un paio di impostazioni su entrambi i lati MySQL e sql che dovrebbero risolvere questo problema:

  1. controlla pool_recycle del tuo motore SQLa valore, provare un valore diverso/minore, ad es. 1800 (sec.). Se stai leggendo le impostazioni DB dal file, impostalo come

    pool_recycle:1800

altrimenti specificarlo durante l'inizializzazione del motore, ad es.

from sqlalchemy import create_engine
e = create_engine("mysql://user:[email protected]/db", pool_recycle=1800)
  1. controlla/modifica il tuo wait_timeout Variabile MySQL, vedere https://dev .mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout che è il numero di secondi che il server attende per l'attività su una connessione non interattiva prima di chiuderla. es.

    mostra variabili globali come 'wait_timeout';

trova una combinazione che funzioni per il tuo ambiente.