Mysqldump в сжатый файл

Ситуация: 1. mysql копируется на диск с mysqldump (~ 250 ГБ) 2. дамп сжат с помощью bpzip2 3. дамп перенесен на другой DC 4. диск снова в хорошем состоянии

Проблема: Пики использования файловой системы, пример: Мне нужно 1 ТБ места для размещения данных во время сброса - мне нужно избавиться от этого (оплата неиспользуемого дискового пространства)

Пытался pipe выгружать непосредственно в bpzip2, но это медленно (требуется высокая степень сжатия) , Я хочу избежать блокировки таблиц. Буфер канала не может быть легко изменен с помощью bash (если это возможно), возможно, в C, Python, как я читал.

Вопрос: Есть ли способ справиться с этими пиками? Мы будем благодарны за любые идеи.

0
задан 25 February 2019 в 16:36
1 ответ

- одиночная транзакция протестирована, работает как ожидалось (спасибо Александру Толкачеву)

/ usr / bin / mysqldump -v --single-transaction --skip-add-drop- таблица -u'user '-p'password' -h 'host' $ {db} 2> / var / log / dump / $ {db} .log | pbzip2 -p2> "$ sql"

Я слышал, что параллельный bzip может иметь проблемы с конвейером, но, возможно, в некоторых более старых версиях, потому что он работает так, как ожидалось, также быстрее - это заняло только 3/4 исходного времени.

Я беспокоился о том, чтобы связать ~ 250 ГБ, если файл будет поврежден или что-то в этом роде, но при тестировании были обнаружены какие-либо ошибки. (Я не пробовал восстанавливать,больше информации о трубопроводе по следующей ссылке) https://stackoverflow.com/questions/2715324/can-a-pipe-in-linux-ever-lose-data

0
ответ дан 24 November 2019 в 00:49

Теги

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