Hochladen großer MySQL-Datenbanken auf AWS RDS mit putty - MySQL Server ist weg

9

Ich benutze Amazon Web Services und ich habe EC2 und RDS eingerichtet und Apache, PHP, MySQL, phpmyadmin installiert.

Ich kann kleine SQL-Dateien importieren (ich habe auch eine Arbeitsadresse eingerichtet und eine sql-db-Datei importiert), aber wenn ich versuche, eine 200-mg-SQL-Datei mit Kitt zu importieren, bekomme ich

  

ERROR 2006 (HY000) in Zeile 186: MySQL-Server ist weggegangen

Nach einigen Nachforschungen schien es, dass max_allowed_packet , wait_timeout und net_read_timeout in DB Parameter Groups aber helfen würden Es hat nicht funktioniert (ich habe einen Neustart durchgeführt, nachdem ich Änderungen vorgenommen habe. Ich habe diese auch auf die maximal zulässigen Werte gesetzt, indem ich das RightScale-Dashboard verwendet habe).

Gibt es noch etwas, das mir bewusst sein könnte, dass dies das verursacht?

Ich habe auch bigdump.php ohne Glück versucht.

Ich nehme an, dass viele Leute große mysql-Datenbanken mit aws hochladen, das macht mich irgendwie verrückt.

    
stemie 20.09.2012, 14:32
quelle

3 Antworten

38

Ich hatte das gleiche Problem:

  1. Gehen Sie zu Ihrem RDS-Dashboard und klicken Sie auf Parametergruppen .
  2. Klicken Sie auf DB-Parametergruppe erstellen , nennen Sie etwas wie 'LargeImport' (stellen Sie sicher, dass die ausgewählte DB-Parametergruppenfamilie Ihrer Instanzversion entspricht) und bearbeiten Sie die Parameter.
  3. Erhöhen Sie das ' max_allowed_packet auf' LargeImport ', um Ihre Importgröße anzupassen (gültige Werte sind 1024-1073741824).
  4. Erhöhen Sie den Parameter wait_timeout , um Ihre Importgröße anzupassen. (Gültige Werte sind 1-31536000 Sekunden.)
  5. Speichern Sie Ihre Änderungen.
  6. Klicken Sie in der linken Spalte auf Instanzen und wählen Sie Ihre Instanz aus.
  7. Klicken Sie auf Exemplaraktionen und wählen Sie Ändern .
  8. Ändern Sie die Parametergruppe in Ihre neue Gruppe "LargeImport" und klicken Sie auf Weiter .
  9. Klicken Sie auf "Modify DB Instance".
  10. Sobald die Änderung abgeschlossen ist, klicken Sie erneut auf Instanzaktionen und starten Sie Ihre Instanz neu.

Sobald Ihre Instanz neu gestartet wurde, sollten Sie größere SQL-Importe durchführen können.

Wenn Sie den Import abgeschlossen haben, wechseln Sie die Instanzparametergruppe zurück auf die Standardparametergruppe und starten Sie sie erneut.

Hoffe, das hilft.

    
spedley 23.05.2014, 14:38
quelle
4

Die angenommene Antwort funktionierte nicht für mich, aber das max_allowed_packet wurde auf etwas Großes geändert (d. h. 32000000 = ~ 32MB) und neu gestartet.

    
P4ul 27.02.2013 08:46
quelle
0

Laut den MySQL-Dokumenten hat dies oft mit Timeouts zu tun . Während es schwierig ist, dies zu diagnostizieren, kann ich mir eine mögliche Lösung vorstellen: feuern Sie eine EC2-Instanz in derselben Region wie Ihren RDS-Server (oder verwenden Sie eine vorhandene, die Sie bereits haben - eine kleine oder eine kleine) Laden Sie dort Ihren großen SQL-Dump zum Beispiel mit SFTP hoch, installieren Sie die MySQL-Client-Bibliotheken und laden Sie Ihre Datei von dort hoch. Dadurch wird eine schnellere Importgeschwindigkeit zwischen Ihrem mysql-Client und Ihrer RDS-Instanz gewährleistet.

    
j0nes 21.09.2012 07:10
quelle

Tags und Links