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

Python und Django OperationalError (2006, „MySQL-Server ist verschwunden“)

Wenn Sie manchmal "OperationalError:(2006, 'MySQL server has been away')" sehen, liegt das daran, dass Sie eine zu große Abfrage absetzen. Das kann zum Beispiel passieren, wenn Sie Ihre Sessions in MySQL speichern und versuchen, etwas wirklich Großes in die Session zu packen. Um das Problem zu beheben, müssen Sie den Wert der Einstellung max_allowed_packet in MySQL erhöhen.

Der Standardwert ist 1048576.

Sehen Sie sich also den aktuellen Wert für die Standardeinstellung an, führen Sie die folgende SQL aus:

select @@max_allowed_packet;

Um vorübergehend einen neuen Wert festzulegen, führen Sie die folgende SQL aus:

set global max_allowed_packet=10485760;

Um das Problem dauerhafter zu beheben, erstellen Sie eine /etc/my.cnf-Datei mit mindestens dem Folgenden:

[mysqld]
max_allowed_packet = 16M

Nach dem Bearbeiten von /etc/my.cnf müssen Sie MySQL neu starten oder Ihren Rechner neu starten, wenn Sie nicht wissen wie.