Методы, чтобы открыть огромный файл .sql.gz?

1551
Bob Loblaw

У меня есть огромный файл .sql.gz размером 12 ГБ, который мне нужно распаковать на моем компьютере с Windows 10. До сих пор я пытался использовать WinZip, 7-Zip и команду gunzip в Cygwin. Я получил сообщения об ошибках, показанные ниже для каждой из этих попыток. Я искал дополнительные потенциальные решения этой проблемы в Интернете, но пока не нашел каких-либо полезных предложений. Если у кого-то есть идеи о том, что может сработать, я ценю ваш вклад.

Я знаю, что сообщения об ошибках указывают на то, что этот файл недействителен, но я не уверен, являются ли эти сообщения из-за того, что он настолько большой, или что файл действительно поврежден; процесс загрузки файла завершился успешно, хотя возможно, что даже поврежденный файл не будет показывать никаких признаков того, что процесс загрузки был поврежден ...

При попытке открыть с помощью WinZip появляется сообщение об ошибке: Не удается открыть файл 'file_v1.2.sql.gz'. Это не похоже на действительный архив. > Если вы загрузили этот файл, попробуйте загрузить этот файл снова.

При попытке открыть с помощью 7-Zip появляется сообщение об ошибке: «Невозможно открыть файл, поскольку [gzip] архив не является архивом»

При попытке открыть в Cygwin с помощью gunzip появляется сообщение об ошибке: gzip: file_v1.2.sql.gz: не в формате gzip

2
Вы уверены, что архив не поврежден? Ramhound 6 лет назад 0
Вы, вероятно, не сможете открыть его с помощью WinZip / 7Zip, если это просто дамп (текст) sql, сжатый с помощью gzip. `gzip -d file_v1.2.sql.gz` должен распаковать ваш файл, если он не поврежден. sebasth 6 лет назад 0
Что выводит файл file_v1.2.sql.gz в cygwin? user2313067 6 лет назад 0
Спасибо за ваши ответы: вывод "gzip -d file_v1.2.sql.gz": gzip: file_v1.2.sql.gz: не в формате gzip Вывод файла file_v1.2.sql.gz в Cygwin: file_v1 .2.sql.gz: текст ASCII, с очень длинными строками Bob Loblaw 6 лет назад 0
Учитывая результат `file`, я думаю, что, несмотря на расширение, он не сжимается, а напрямую является файлом SQL. Вы пытались открыть его в редакторе или, возможно, просто вывести первые несколько строк (`head file_v1.2.sql.gz`) или символы, если строки очень длинные (` head -c 100 file_v1.2.sql.gz` )? user2313067 6 лет назад 0
@ user2313067 Вы правы, что я могу напрямую просматривать контент; в частности, я использовал UltraEdit, чтобы открыть его. Я собираюсь поэкспериментировать, чтобы увидеть, могу ли я выполнить операции по извлечению контента из этого формата файла. Bob Loblaw 6 лет назад 0
@ user2313067 Да, этот файл доступен для просмотра в UltraEdit; если я открою его в форме .sql.gz, он отобразится в виде обычного текста, но когда я изменю расширение файла на .sql, как вы предложили ниже, он появится в виде цветного файла SQL с ключевыми словами, отображаемыми в разных цветах. Bob Loblaw 6 лет назад 0

1 ответ на вопрос

0
moonpoint

Вы можете попробовать Gzip для Windows, то есть запустить его вне Cygwin, хотя, я подозреваю, что если вы получите сообщение об ошибке в Cygwin, вы снова получите подобное сообщение об ошибке. Другой альтернативой является бесплатный Zip Reader от Pkware, который может распаковывать различные типы сжатых файлов, в том числе файлы gzip .gz, хотя и не предоставляет никаких возможностей сжатия. Вам будет предложено указать адрес электронной почты для его загрузки, но нет необходимости подтверждать адрес электронной почты; Когда вы отправляете форму, вы сразу же переходите на страницу, где вы можете загрузить программное обеспечение. Вы также можете попробовать WinRAR, так как он может распаковывать файлы .gz .

Допустимый файл gzip должен иметь 10-байтовый заголовок, содержащий магическое число (1f 8b), номер версии и метку времени. В качестве проверки того, является ли файл допустимым файлом gzip, вы можете проверить файл с помощью шестнадцатеричного редактора, чтобы увидеть, имеет ли файл такой заголовок. В системах Microsoft Windows я использую Freeware Hex Editor XVI32, но, к сожалению, из-за размера файла это, скорее всего, не сработает в вашем случае, так как разработчик заявляет в своем списке функций «XVI32 позволяет редактировать файлы до 2 ГБ (достаточно виртуальной памяти, конечно). " UltraEdit можно использовать как шестнадцатеричный редактор; Разработчик заявляет: «Что касается больших файлов, UltraEdit обрабатывает файлы, размер которых превышает 4 ГБ. UltraEdit работает на диске. Это означает, что он загружает только небольшие части файла одновременно в память, поэтому он не использует всю память и не позволяет другим приложениям работать. Тем не менее, он делает временную копию файла, чтобы достичь этого, и это может занять время для больших файлов ». Я не использовал этот продукт сам, но он бесплатный в течение 30-дневного пробного периода. Если файл не имеет допустимого заголовка, он, вероятно, не может быть обработан любой программой, которая распаковывает файлы .gz.

Спасибо за ваш потрясающий ответ; Я нахожусь в процессе исследования программного обеспечения, которое вы предложили. Чтобы продолжить рассмотрение вопроса проверки заголовка: Файл, отображаемый в UltraEdit, начинается со следующего содержимого: - MySQL dump 10.13 Distrib 5.6.24, для Linux (x86_64) - - Host: localhost База данных: tcrd4 - -------------------------------------------------- ---- - Версия сервера 5.6.24 / *! 40101 SET @OLD_CHARACTER_SET_CLIENT = @@ CHARACTER_SET_CLIENT * /; Bob Loblaw 6 лет назад 0
@bobloblaw заголовок, который вы показываете, указывает, что это просто файл sql, несмотря на его расширение. Здесь нет сжатия. user2313067 6 лет назад 0
@ user2313067 Спасибо за разъяснения. Я не уверен, как работать с файлом в формате .sql.gz * без * предварительного разархивирования, даже если нет сжатия, но я буду помнить ваше наблюдение по мере продвижения вперед ... Bob Loblaw 6 лет назад 0
Является ли проблемой то, что содержимое этого заголовка указывает на то, что оно «для Linux», но я использую компьютер с Windows? Bob Loblaw 6 лет назад 0
@bobloblaw "для Linux" является частью идентификации двоичного файла MySQL, который сделал дамп. Это не имеет ничего общего с тем, для чего предназначен дамп. Вы должны переименовать скрипт в .sql вместо .sql.gz, чтобы отразить его содержание. user2313067 6 лет назад 0
@ user2313067 Отлично! Я просто удалил .gz из конца имени файла, и теперь этот файл отображается в UltraEdit как файл SQL, а не как простой текстовый файл. Спасибо за ваш очень полезный совет. Bob Loblaw 6 лет назад 0