Mysql
 sql >> база данни >  >> RDS >> Mysql

SQLAlchemy/MySQL Загубена връзка с MySQL сървър по време на заявка

изглежда, че връзката ви с MySQL изтича след дълъг период на бездействие, обзалагам се, че няма да се случи, ако постоянно питате вашата DB със съществуващи настройки. Има няколко настройки от двете страни на MySQL и sql, които трябва да разрешат този проблем:

  1. проверете pool_recycle на вашата SQLa машина стойност, опитайте различна / по-малка стойност, напр. 1800 (сек.). Ако четете настройките на DB от файл, задайте го като

    pool_recycle:1800

в противен случай го посочете по време на стартиране на двигателя, напр.

from sqlalchemy import create_engine
e = create_engine("mysql://user:[email protected]/db", pool_recycle=1800)
  1. проверете / променете вашия wait_timeout MySQL променлива, вижте https://dev .mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout което е броят секунди, които сървърът изчаква за активност на неинтерактивна връзка, преди да я затвори. напр.

    показване на глобални променливи като 'wait_timeout';

намерете комбинация, която работи за вашата среда.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL търсене на множество стойности в едно и също поле

  2. Преобразуване на отрицателни стойности от FROM_UNIXTIME

  3. Как да поправите грешки при неправилна стойност на низа?

  4. Преобразувайте Unix timestamp в четлива от човека дата с помощта на MySQL

  5. MySQL - Как да получите резултати от търсенето с точна релевантност