sql >> Databasteknik >  >> RDS >> Mysql

Django, efter uppgradering:MySQL-servern har försvunnit

Anledningen till sådant beteende är ihållande anslutning till databasen, som introducerades i Django 1.6.

För att förhindra anslutningsfel bör du ställa in CONN_MAX_AGE i settings.py till ett värde som är mindre än wait_timeout i MySQL-konfiguration (my.cnf ). I så fall upptäcker Django att anslutningen måste öppnas igen tidigare än MySQL skickar den. Standardvärdet för MySQL 5.7 är 28800 sekunder.

settings.py :

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

Dokumentation:https://docs.djangoproject.com/ sv/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



  1. oracle konvertera unix epok tid till datum

  2. Hur många tecken kan du lagra med 1 byte?

  3. Spåra DB-frågetid - Bokhylla/knex

  4. SQLite - Någon skillnad mellan tabell-restrikt UNIQUE och kolumn-constraint UNIQUE?