Methoden zum Öffnen der großen .sql.gz-Datei?

1478
Bob Loblaw

Ich habe eine riesige 12 GB-Datei .sql.gz, die ich auf meinem Windows 10-Computer entpacken muss. Bisher habe ich versucht, WinZip, 7-Zip und den Befehl gunzip in Cygwin zu verwenden. Ich habe die folgenden Fehlermeldungen für jeden dieser Versuche erhalten. Ich habe online nach weiteren potenziellen Lösungen für dieses Problem gesucht, aber bisher keine nützlichen Vorschläge gefunden. Wenn jemand Ideen hat, was funktionieren könnte, freue ich mich über Ihre Beiträge.

Ich weiß, dass die Fehlermeldungen anzeigen, dass diese Datei ungültig ist, aber ich bin nicht sicher, ob diese Nachrichten darauf zurückzuführen sind, dass sie so groß ist oder ob die Datei tatsächlich beschädigt ist. Der Dateidownloadvorgang schien erfolgreich abgeschlossen zu werden, obwohl es möglich ist, dass selbst eine beschädigte Datei keinen Hinweis darauf enthält, dass der Downloadvorgang beschädigt war ...

Beim Versuch, mit WinZip zu öffnen, wird folgende Fehlermeldung angezeigt: Die Datei 'file_v1.2.sql.gz' kann nicht geöffnet werden. Es scheint kein gültiges Archiv zu sein. > Wenn Sie diese Datei heruntergeladen haben, versuchen Sie es erneut.

Wenn Sie versuchen, mit 7-Zip zu öffnen, lautet die Fehlermeldung: Die Datei kann nicht geöffnet werden, da das Archiv [gzip] nicht archiviert wird

Wenn Sie versuchen, in Cygwin mit gunzip zu öffnen, lautet die Fehlermeldung: gzip: file_v1.2.sql.gz: nicht im gzip-Format

2
Sind Sie sicher, dass das Archiv nicht beschädigt ist? Ramhound vor 6 Jahren 0
Sie können es wahrscheinlich nicht mit WinZip / 7Zip öffnen, wenn es sich lediglich um einen mit gzip komprimierten SQL-Speicherauszug (Text) handelt. `gzip -d file_v1.2.sql.gz` sollte Ihre Datei dekomprimieren, wenn sie nicht beschädigt ist. sebasth vor 6 Jahren 0
Was ist die Ausgabe von `file file_v1.2.sql.gz` in cygwin? user2313067 vor 6 Jahren 0
Vielen Dank für Ihre Antworten: Die Ausgabe von "gzip -d file_v1.2.sql.gz" lautet: gzip: file_v1.2.sql.gz: nicht im gzip-Format Ausgabe der Datei file_v1.2.sql.gz in Cygwin: file_v1 .2.sql.gz: ASCII-Text mit sehr langen Zeilen Bob Loblaw vor 6 Jahren 0
Angesichts des Ergebnisses `file` würde ich vermuten, dass diese trotz der Erweiterung nicht komprimiert wird, sondern direkt die SQL-Datei ist. Haben Sie versucht, es mit einem Editor zu öffnen oder vielleicht nur die ersten Zeilen (`head file_v1.2.sql.gz`) oder Zeichen auszugeben, wenn die Zeilen sehr lang sind (` head -c 100 file_v1.2.sql.gz`) ) user2313067 vor 6 Jahren 0
@ user2313067 Es stimmt, dass ich den Inhalt direkt anzeigen kann. Ich habe UltraEdit verwendet, um es zu öffnen. Ich werde testen, ob ich Operationen ausführen kann, um den Inhalt aus diesem Dateiformat zu extrahieren. Bob Loblaw vor 6 Jahren 0
@ user2313067 Ja, diese Datei kann in UltraEdit angezeigt werden. Wenn ich es im .sql.gz-Formular öffne, wird es als einfacher Text angezeigt. Wenn ich jedoch die Dateierweiterung in .sql ändere, wie Sie unten vorgeschlagen haben, wird es als bunte SQL-Datei angezeigt, deren Schlüsselwörter in verschiedenen Farben angezeigt werden. Bob Loblaw vor 6 Jahren 0

1 Antwort auf die Frage

0
moonpoint

Sie könnten Gzip für Windows ausprobieren, dh außerhalb von Cygwin ausführen. Ich würde jedoch vermuten, dass Sie unter Cygwin eine ähnliche Fehlermeldung erhalten, wenn Sie eine Fehlermeldung erhalten. Eine andere Alternative ist der kostenlose Zip-Reader von Pkware, der eine Vielzahl komprimierter Dateitypen, einschließlich der gzip-.gz-Dateien, dekomprimieren kann, jedoch keine Komprimierungsfunktionen bietet. Sie werden aufgefordert, eine E-Mail-Adresse zum Herunterladen anzugeben. Eine E-Mail-Adresse muss jedoch nicht bestätigt werden. Wenn Sie das Formular absenden, werden Sie sofort zu einer Seite weitergeleitet, auf der Sie die Software herunterladen können. Sie können auch WinRAR ausprobieren, da es .gz-Dateien dekomprimieren kann .

Eine gültige gzip- Datei sollte einen 10-Byte-Header mit einer magischen Zahl (1f 8b), einer Versionsnummer und einem Zeitstempel enthalten. Um zu überprüfen, ob es sich bei der Datei um eine gültige GZIP-Datei handelt, können Sie die Datei mit einem Hexadezimal-Editor überprüfen, um zu sehen, ob die Datei über einen solchen Header verfügt. Auf Microsoft Windows-Systemen verwende ich den Freeware Hex Editor XVI32. Aufgrund der Dateigröße funktioniert dies jedoch in Ihrem Fall wahrscheinlich nicht, da der Entwickler in seiner Feature-Liste "XVI32" die Bearbeitung von Dateien erlaubt 2 GB (ausreichend virtueller Speicher, natürlich). " UltraEdit kann als Hexadezimal-Editor verwendet werden; Der Entwickler sagt: "Bei großen Dateien verarbeitet UltraEdit Dateien mit mehr als 4 GB. UltraEdit ist festplattenbasiert. Das bedeutet, dass nur kleine Teile der Datei gleichzeitig in den Arbeitsspeicher geladen werden, sodass nicht der gesamte Speicher verwendet wird und andere Anwendungen nicht ausgeführt werden. Es wird jedoch eine temporäre Kopie der Datei erstellt, um dies zu erreichen. Dies kann bei großen Dateien einige Zeit dauern. " Ich habe das Produkt nicht selbst verwendet, aber es ist 30 Tage lang kostenlos. Wenn die Datei keinen gültigen Header hat, kann sie wahrscheinlich nicht von einem Programm verarbeitet werden, das .gz-Dateien dekomprimiert.

Vielen Dank für Ihre großartige Antwort. Ich bin gerade dabei, die von Ihnen vorgeschlagene Software zu untersuchen. Um das Problem der Überprüfung des Headers weiter zu verfolgen: Die Datei wird in UltraEdit angezeigt und beginnt mit dem folgenden Inhalt: - MySQL Dump 10.13 Distrib 5.6.24 für Linux (x86_64) - - Host: localhost Datenbank: tcrd4 - -------------------------------------------------- ---- - Serverversion 5.6.24 / *! 40101 SET @OLD_CHARACTER_SET_CLIENT = @@ CHARACTER_SET_CLIENT * /; Bob Loblaw vor 6 Jahren 0
@bobloblaw die Überschrift, die Sie anzeigen, zeigt an, dass es sich trotz der Erweiterung um eine SQL-Datei handelt. Hier erfolgt keine Komprimierung. user2313067 vor 6 Jahren 0
@ user2313067 Danke für die Klarstellung. Ich bin nicht sicher, wie ich mit der Datei im .sql.gz-Format * arbeiten soll, ohne sie vorher zu entpacken, auch wenn keine Komprimierung erfolgt. Ich werde jedoch Ihre Beobachtung im Auge behalten, wenn ich vorankomme ... Bob Loblaw vor 6 Jahren 0
Ist es ein Problem, dass dieser Headerinhalt angibt, dass es sich um "für Linux" handelt, ich aber einen Windows-Computer verwende? Bob Loblaw vor 6 Jahren 0
@bobloblaw Das "for Linux" ist Teil der Identifikation der MySQL-Binärdatei, die den Speicherauszug erstellt hat. Es hat nichts damit zu tun, für wen der Dump bestimmt ist. Sie sollten das Skript in .sql anstelle von .sql.gz umbenennen, um dessen Inhalt wiederzugeben. user2313067 vor 6 Jahren 0
@ user2313067 Ausgezeichnet! Ich habe gerade die .gz-Datei vom Ende des Dateinamens entfernt. Jetzt wird die Datei in UltraEdit als SQL-Datei und nicht als Nur-Text-Datei angezeigt. Vielen Dank für Ihre sehr hilfreichen Ratschläge. Bob Loblaw vor 6 Jahren 0