sql >> Base de Datos >  >> RDS >> Mysql

Django, después de la actualización:el servidor MySQL se ha ido

La razón de tal comportamiento es la conexión persistente a la base de datos, que se introdujo en Django 1.6.

Para evitar un error de tiempo de espera de conexión, debe configurar CONN_MAX_AGE en settings.py al valor que es menor que wait_timeout en la configuración de MySQL (my.cnf ). En ese caso, Django detecta que la conexión debe reabrirse antes de que MySQL la inicie. El valor predeterminado para MySQL 5.7 es 28800 segundos.

settings.py :

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'CONN_MAX_AGE': 3600,
        <other params here>
    }
}

Documentación:https://docs.djangoproject.com/ es/1.7/ref/configuraciones/#conn-max-age

my.cnf :

wait_timeout = 28800

Documentación:https://dev.mysql .com/doc/refman/5.7/en/server-system-variables.html#sysvar_wait_timeout