sql >> Database >  >> RDS >> Mysql

Django, na upgrade:MySQL-server is verdwenen

De reden van dergelijk gedrag is een aanhoudende verbinding met de database, die werd geïntroduceerd in Django 1.6.

Om een ​​time-outfout bij de verbinding te voorkomen, moet u CONN_MAX_AGE . instellen in settings.py naar waarde die kleiner is dan wait_timeout in MySQL-configuratie (my.cnf ). In dat geval detecteert Django dat de verbinding eerder moet worden heropend dan MySQL deze genereert. De standaardwaarde voor MySQL 5.7 is 28800 seconden.

settings.py :

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

Documentatie:https://docs.djangoproject.com/ nl/1.7/ref/settings/#conn-max-age

my.cnf :

wait_timeout = 28800

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



  1. MySQL hoe tabellen op twee velden samen te voegen

  2. Gebruik MySQL relationele databases op CentOS 5.

  3. Het kantelpunt visualiseren met Plan Explorer

  4. Tijdsverschil krijgen tussen twee tijden in PHP