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

Django, efter opgradering:MySQL-serveren er forsvundet

Årsagen til sådan adfærd er vedvarende forbindelse til databasen, som blev introduceret i Django 1.6.

For at forhindre fejl i forbindelse med timeout, skal du indstille CONN_MAX_AGE i settings.py til en værdi, der er mindre end wait_timeout i MySQL-konfiguration (my.cnf ). I så fald opdager Django, at forbindelsen skal genåbnes, før MySQL kaster den. Standardværdien for MySQL 5.7 er 28800 sekunder.

settings.py :

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

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

my.cnf :

wait_timeout = 28800

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



  1. PostgreSQL:Forespørgsel har ingen destination for resultatdata

  2. Opret en kumulativ sumkolonne i MySQL

  3. Sådan opretter du en forespørgsel i Drupal 8

  4. Sådan fungerer Date()-funktionen i SQLite