Распакуйте файл SQL и получите двоичный файл

Я создал и сжал (с помощью bzip2) дамп SQL с производственного сервера в Linux.

Я хочу создать сценарий оболочки для автоматического импорта его в базу данных моей среды разработки (в Mac OS).

Файл dump.sql.bz2 хорошо распаковывается вручную с помощью утилиты Mac OS Archive. Но когда я использую командную строку, например bzip2 -dck dump.sql.bz2 или bunzip2 -k dump.sql.bz2 , файл sql преобразуется в двоичный и не может быть эксплуатируемым mysql ( ОШИБКА в строке 1: Неизвестная команда '\%' ), как вы можете видеть на этом снимке экрана:

Сравнение между извлечением bzip2 GUI и CLI

Что такое эквивалентная командная строка утилиты архивирования для извлечения файла sql bz2 на Mac без его повреждения? Может быть, это не лучший способ делать то, что я хочу?

0
задан 10 June 2016 в 16:40
2 ответа

Ну, я нашел почему. Мой дамп SQL был сжат дважды, но имя не было dump.sql.bz2.bz2, а просто dump.sql.bz2. Двоичный файл был результатом распаковки только первого слоя. Утилита Mac OS Archive Utility более интеллектуальна, так как распознала эту двойную компрессию и восстановила исходный файл дампа SQL.

.
0
ответ дан 5 December 2019 в 18:46

Это исправит вашу проблему

bunzip2 -dk dump.sql.bz2 
# or 
bunzip2 -ck dump.sql.bz2 > myfile.sql

-c переключатель должен выводить в stdout, вы должны направить результат stdout куда-нибудь, когда вы используете -c

-1
ответ дан 5 December 2019 в 18:46

Теги

Похожие вопросы