Восстановление Innobackupex из SSH

Я регулярно делал резервные копии MySQL, используя Percona xtrabackup, используя команду, которую нашел в сети (я не глубоко разбираюсь в базах данных и их инструментах):

innobackupex --user=XXXX --password=XXXX --stream=tar ./ | sshpass -p XXXX ssh root@192.168.XX.XX "cat - > /var/lib/mysql_backups/name.tar"

Теперь размер файла резервной копии составляет 85 ГБ, и он ежедневно создавался как ПОЛНАЯ резервная копия. Мне нужно восстановить БД после сбоя, и она не работает.

Я смотрел внутри tar-файла (с tar -tif name.tar) и я прочитал весь список имен файлов.

1) как нормальный способ восстановить БД из локального TAR с помощью --move-back разархивировать все на месте и не использовать дополнительное место на диске?

2) Или есть возможность (если опция 1 недоступна) восстановить резервную копию с удаленного TAR, выполнив обратную процедуру, описанную в разделе Удаленное резервное копирование с использованием innobackupex? Я пытался несколько раз, но я не могу найти правильные варианты.

Я нашел вариант --remote-host используется в посте с 2012 года, но в моей версии 1.5.1 эта опция отсутствует...

3) будучи потоковым =tar, как мне подготовить (при необходимости) tar перед восстановлением?

Заранее спасибо.

1 ответ

Решение

По поводу ваших вопросов:

1) как обычным способом восстановить БД из локального TAR, используя --move-back, чтобы распаковать все на месте и не использовать дополнительное место на диске?

Вы можете извлечь файл и направить вывод на конечный сервер с помощью командной строки:

# Execute the command where the backup is located ssh <user>@<mysql_server> "cd <datadir> && tar -xvv" < backup.tar

Используя этот метод, вы избежите дополнительного места, необходимого для распаковки и копирования. Далее вам нужно подготовить резервную копию, которая является вашим вопросом № 3:

3) будучи потоковым =tar, как мне подготовить (при необходимости) tar перед восстановлением?

$ xtrabackup --prepare --target-dir=./<datadir>

Или с innobackupex:

$ innobackupex --apply-log ./<datadir>

Обратите внимание, что, в конце концов, если операция завершится успешно, вы увидите сообщение:

InnoDB: Shutdown completed; log sequence number 9059880 180618 11:05:22 completed OK!

Тогда MySQL будет готов к запуску.

Более подробную информацию можно найти по этим ссылкам:

Подготовка бэкапа с помощью xtrabackup

Потоковое и сжатие резервных копий

Подготовка резервной копии с помощью innobackupex

Другие вопросы по тегам