Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Django, nach dem Upgrade:Der MySQL-Server ist verschwunden

Der Grund für dieses Verhalten ist die dauerhafte Verbindung zur Datenbank, die in Django 1.6 eingeführt wurde.

Um einen Verbindungszeitüberschreitungsfehler zu vermeiden, sollten Sie CONN_MAX_AGE festlegen in settings.py auf einen Wert, der kleiner als wait_timeout ist in der MySQL-Konfiguration (my.cnf ). In diesem Fall erkennt Django, dass die Verbindung früher wieder geöffnet werden muss, als MySQL sie auslöst. Der Standardwert für MySQL 5.7 ist 28800 Sekunden.

settings.py :

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

Dokumentation:https://docs.djangoproject.com/ de/1.7/ref/settings/#conn-max-age

my.cnf :

wait_timeout = 28800

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