2013-03-26 2 views
6

я выделил почти все мое пространство на сервере в моем табличном пространствекак файл дампа sql.gz, чтобы MySQL

Теперь у меня есть сжатый дамп вокруг 20gb, которая необходима, чтобы быть сброшена в MySQL

проблема заключается в том, что сервер не имея много места для распаковки файла (который требует около 120 Гб)

я использовал команду beolw, но я провал, потому что это первые разжатия файла, а затем перенаправлять выход на mysql

gunzip dbdump.sql.gz | mysql -u root -proot123 -S /home/mysql55/tmp/mysql.sock 

Есть ли способ, чтобы я мог сбросить сжатый файл без распаковки его

любые предложения очень благодарны

ответ

11

Вы должны сказать gunzip писать на стандартный вывод. То, что вы делаете прямо сейчас, вообще не собирается выводить на вывод.

gunzip -c dbdump.sql.gz | mysql (args...) 
+0

спасибо, что она работает нормально, и есть ли подобный способ для sql.tar.gz файла – vidyadhar

+0

Я никогда не сталкивался с таким 'sql.tar.gz', но если вы имеете в виду файл tar.gz, содержащий файл' sql', то это будет 'tar -zvxOf somefile.tar.gz путь/to/sql/file | mysql ... '. –

+0

Почему «путь/в/sql/файл»? Я импортировал свой файл только с помощью tar -zvxOf dump.tgz | mysql database -u ... ' ' – rubo77

0

Мы можем достичь того же и с помощью команды внизу. Здесь я использую GZIP

gzip -d < dbdump.sql.gz | mysql (args..) 

Другой способ, как указано ниже

gzip -c dbdump.sql.gz | mysql (args..) 
0

Вы можете попытаться распаковать файл на лету, в примере:

$ cat dbdump.sql.gz | gzip -cd | mysql 
1

Я знаю, что это смешно, но он был gzipped дважды, поэтому

  1. Экстракт filename.sql.gz
  2. Rename извлеченный файл из filename.sql в filename.gz
  3. экстракте снова

Надеется, что он будет работать

Смежные вопросы