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

Django, dopo l'aggiornamento:il server MySQL è sparito

Il motivo di tale comportamento è la connessione persistente al database, introdotta in Django 1.6.

Per evitare errori di timeout della connessione, dovresti impostare CONN_MAX_AGE in settings.py a un valore inferiore a wait_timeout nella configurazione MySQL (my.cnf ). In tal caso Django rileva che la connessione deve essere riaperta prima di quanto MySQL la lanci. Il valore predefinito per MySQL 5.7 è 28800 secondi.

settings.py :

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

Documentazione:https://docs.djangoproject.com/ it/1.7/ref/settings/#conn-max-age

my.cnf :

wait_timeout = 28800

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