Как я могу восстановить дамп базы данных MySql прямо из S3?

560
KalenGi

У меня есть резервная копия базы данных в формате gzip, сохраненная на S3, и я хотел бы восстановить ее в MySql без необходимости сначала загружать ее из-за нехватки места на диске. Я попробовал две команды ниже, но получил gzip: stdin: not in gzip formatоба раза.

Версия 1:

s3cmd get s3://mybucket/mydbbackup.sql.gz | gzip -d | mysql -u root -p 

Версия 2:

s3cmd get s3://mybucket/mydbbackup.sql.gz - | gzip -d | mysql -u root -p 
0
Труба это прямо в меньше или что-то. Вы видите что-то похожее на mysqldump? Что произойдет, если вы `s3cmd получите s3: //mybucket/mydbbackup.sql.gz - | od -x`? Zoredache 8 лет назад 0
Я получаю много шестнадцатеричного вывода `0000000 7327 3a33 2f2f 6877 7265 7465 626f 7975`. Что я должен искать? KalenGi 8 лет назад 0
`s3cmd ... | od -x` - это просто двойная проверка, что вы вообще что-то получаете, а не ошибку или что-то еще, в любом случае, если это даст вам возможность увидеть, что вы получаете с помощью командной строки, без канала в mysql. Итак, s3cmd получим s3: //mybucket/mydbbackup.sql.gz - | gzip -d` То, что вы видите, должно выглядеть как куча операторов SQL. Zoredache 8 лет назад 0
Даже это дает мне ту же ошибку `s3cmd get s3: //mybucket/mydbbackup.sql.gz - | zcat` KalenGi 8 лет назад 0
Хм, мне не хватает идей. Как именно вы сделали эту резервную копию? Zoredache 8 лет назад 0
Я думаю, что вывод `s3cmd` поврежден. Восстановление сработало, когда я переключился на `curl` KalenGi 8 лет назад 0

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

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