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

MySQL Server ist beim Importieren großer SQL-Dateien verschwunden

Wie hier angegeben :

Zwei der häufigsten Gründe (und Korrekturen) dafür, dass der MySQL-Server verschwunden ist (Fehler 2006), sind:

Der Server hat das Zeitlimit überschritten und die Verbindung geschlossen. Lösung:

  1. Überprüfen Sie, ob die Variable wait_timeout in der my.cnf-Konfigurationsdatei Ihres mysqld groß genug ist. Unter Debian:sudo nano /etc/mysql/my.cnf , setzen Sie wait_timeout = 600 Sekunden (Sie können diesen Wert verringern/schwächen, wenn Fehler 2006 weg ist), dann sudo /etc/init.d/mysql restart . Ich habe es nicht überprüft, aber der Standardwert für "wait_timeout" könnte etwa 28800 Sekunden (8 Stunden) betragen.

  2. Der Server hat ein falsches oder zu großes Paket verworfen. Wenn mysqld ein zu großes oder falsches Paket erhält, geht es davon aus, dass beim Client etwas schief gelaufen ist, und schließt die Verbindung. Sie können die maximale Paketgröße erhöhen, indem Sie den Wert von max_allowed_packet in der Datei my.cnf erhöhen. Unter Debian:sudo nano /etc/mysql/my.cnf , setzen Sie max_allowed_packet = 64M (Sie können diesen Wert nicht schwächen/verringern, wenn der Fehler 2006 weg ist), dann sudo /etc/init.d/mysql restart .

Bearbeiten:

Beachten Sie, dass die Befehle von MySQL-Optionsdateien nicht bereits als Kommentare verfügbar sind (wie zum Beispiel in php.ini). Sie müssen also jede Änderung/Optimierung in my.cnf eingeben oder my.ini und platzieren Sie sie in mysql/data Verzeichnis oder in einem der anderen Pfade unter der richtigen Gruppe von Optionen wie [client] , [myslqd] usw. Zum Beispiel:

[mysqld]
wait_timeout = 600
max_allowed_packet = 64M

Starten Sie dann den Server neu. Um ihre Werte zu erhalten, geben Sie den mysql-Client ein:

> select @@wait_timeout;
> select @@max_allowed_packet;