Ich habe eine MySQL-Datenbank mit 1 TB, die ich sichern und neu laden möchte. Die meisten Daten befinden sich in einer Tabelle. Viele Daten wurden gelöscht, daher bin ich mir ziemlich sicher, dass die Gesamtgröße kleiner ist, wenn ich sie mit MySQL speichere, die Datenbank neu erstelle und sie dann neu lade.
Ich speichere die Daten mit diesem Befehl:
mysqldump -uroot -pXXX mydb | gzip -c > data.sql.gz
Ich bekomme diesen Fehler
mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `MY_TABLE` at row: 596089342
Ich habe viele Variationen ausprobiert, darunter das Erhöhen der Paketgröße, das Durchführen einer einzelnen Übersetzung und das Übergehen von TCP / IP anstelle des lokalen Sockets.
mysqldump -uroot -pXXX -h 127.0.0.1 --max-allowed-packet=1024M --single-transaction mydb | gzip -c > data.sql.gz
Schließlich habe ich sogar den Befehl nach / dev / null ausgeführt, um sicherzustellen, dass es sich nicht um gzip handelt. Alle Permutationen erzeugen den gleichen Fehler.
mysqldump -uroot -pXXX -h 127.0.0.1 mydb > /dev/null
Hier sind einige Einstellungen in my.cnf
max_allowed_packet = 1G
interactive_timeout = 600
wait_timeout = 600
net_read_timeout=600
net_write_timeout=600
connect_timeout=600
Eine andere seltsame Sache ist, dass der Dump immer an derselben Stelle anhält. Ungefähr 6 GB komprimierte Daten und ungefähr derselbe Datensatz. Wenn ich ls -l mache, ist die Dateigröße immer identisch.
Ich bin ratlos. Anregungen für die nächsten Schritte?
Für die Aufzeichnung ist dies MySQL 5.1.58, das unter Ubuntu 11.10 ausgeführt wird
WERDEN
interactive_timeoutundwait_timeoutauf die Standardwerte oder eine benannte Pipe.