sql >> Databáze >  >> RDS >> Mysql

SQLAlchemy/MySQL Ztratilo se připojení k serveru MySQL během dotazu

vypadá to, že vaše připojení MySQL po dlouhé době nečinnosti vyprší, vsadím se, že se to nestane, pokud budete neustále dotazovat svou databázi se stávajícími nastaveními. Existuje několik nastavení na straně MySQL i SQL, která by měla tento problém vyřešit:

  1. zkontrolujte pool_recycle vašeho enginu SQLa hodnotu, zkuste jinou / menší hodnotu, např. 1800 (s). Pokud čtete nastavení DB ze souboru, nastavte jej jako

    pool_recycle:1800

jinak jej specifikujte během spouštění motoru, např.

from sqlalchemy import create_engine
e = create_engine("mysql://user:[email protected]/db", pool_recycle=1800)
  1. zkontrolujte / upravte svůj wait_timeout Proměnná MySQL, viz https://dev .mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout což je počet sekund, po které server čeká na aktivitu u neinteraktivního připojení, než jej uzavře. např.

    zobrazit globální proměnné jako 'wait_timeout';

najděte kombinaci, která vyhovuje vašemu prostředí.



  1. Jaký je připojovací řetězec pro localdb pro verzi 11

  2. enum('yes', 'no') vs tinyint – který použít?

  3. MySQL deaktivuje všechny spouštěče

  4. ERD notace v datovém modelování