it-roy-ru.com

как сделать дамп файла sql.gz в mysql

Я выделил почти все мое пространство на рабочем сервере для моего табличного пространства

Теперь у меня есть сжатый дамп около 20 ГБ, который необходимо сбросить в MySQL

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

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

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

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

любые предложения действительно благодарны

9
vidyadhar

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

gunzip -c dbdump.sql.gz | mysql (args...)
12
Andrew Mao

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

  1. Извлечь filename.sql.gz
  2. Переименовать извлеченный файл из filename.sql в filename.gz
  3. Извлечь снова

Надеюсь, это сработает

2
askoura

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

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

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

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

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

$ cat dbdump.sql.gz | gzip -cd | mysql
0
kenorb