Развертывание бекапов БД созданных с помощью Percona XtraBackup
Jul 24, 2015 22:25 · 241 words · 2 minute read
При резервном копировании важно не только уметь создавать резервные копии (об этом я писал ранее, и даже выложил готовый скрипт для создания резервных копий), но и знать как быстро восстанавливаться из бекапов.
Давайте разберемся с этим вопросом!
Итак, алгоритм развертывания полного бекапа баз данных:
- останавливаем MySQL-сервер:
/etc/init.d/mysql stop
- переходим в
/var/lib/mysqlи удаляем все содержимое:
cd /var/lib/mysql
rm -rf *
- распаковываем резервную копию:
tar -ixvf имя_архива.tar.gz -C /var/lib/mysql
- находясь в каталоге
/var/lib/mysqlнакатываем бинарные логи:
innobackupex --apply-log --ibbackup=xtrabackup ./
- выставляем права на каталог
/var/lib/mysql:
chown -R mysql:mysql /var/lib/mysql/
- запускаем MySQL-сервер:
/etc/init.d/mysql start
Алгоритм развертывания полного и инкрементального бекапа баз данных:
- останавливаем MySQL-сервер:
/etc/init.d/mysql stop
- переходим в
/var/lib/mysqlи удаляем все содержимое:
cd /var/lib/mysql
rm -rf *
- распаковываем резервную копию:
tar -ixvf имя_архива.tar.gz -C /var/lib/mysql
- находясь в каталоге
/var/lib/mysqlнакатываем бинарные логи:
innobackupex --apply-log --redo-only --ibbackup=xtrabackup ./
- перекладываем инкрементальную резервную копию
имя_архива.xbstreamв/mnt/temp
Примечание. Считаем, что создан раздел необходимого размера и примонтирован в /mnt/temp. Если у нас несколько инкрементальных архивов, то они должны находиться в разных каталогах — /mnt/temp_1, /mnt/temp_2 и т. д.
- находясь в каталоге
/mnt/tempраспаковываем резервную копию:
xbstream -x < имя_архива.xbstream
- находясь в каталоге
/var/lib/mysqlвыполняем:
innobackupex --apply-log --ibbackup=xtrabackup ./ --incremental-dir=/mnt/temp/
Примечание. Если у нас несколько инкрементальных бекапов, то их нужно готовить в хронологической последовательности (!). Для всех, кроме последнего инкрементального бекапа нужно добавлять ключ --redo-only
- находясь в каталоге
/var/lib/mysqlвыполняем:
innobackupex --apply-log --ibbackup=xtrabackup ./
- выставляем права на каталог
/var/lib/mysql:
chown -R mysql:mysql /var/lib/mysql/
- запускаем MySQL-сервер:
/etc/init.d/mysql start