Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

SQLAlchemy/MySQL Perda de conexão com o servidor MySQL durante a consulta


parece que sua conexão MySQL está expirando após um longo período de inatividade, aposto que isso não acontecerá se você estiver constantemente consultando seu banco de dados com as configurações existentes. Existem algumas configurações nos lados MySQL e sql que devem resolver esse problema:

  1. verifique o pool_recycle do seu mecanismo SQLa valor, tente valor diferente / menor, por exemplo 1800 (segundos). Se você estiver lendo as configurações do banco de dados do arquivo, defina-o como

    pool_recycle:1800

caso contrário, especifique-o durante a inicialização do motor, por exemplo.
from sqlalchemy import create_engine
e = create_engine("mysql://user:[email protected]/db", pool_recycle=1800)

  1. verifique/modifique seu wait_timeout Variável MySQL, consulte https://dev .mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout que é o número de segundos que o servidor espera pela atividade em uma conexão não interativa antes de fechá-la. por exemplo.

    mostre variáveis ​​globais como 'wait_timeout';

encontre uma combinação que funcione para o seu ambiente.