Инкрементальное бекапирование/восстановление MySQL при помощи innobackupex

Posted in Новости on мая 23, 2018 by admin

1. Делаем Full Backup:

innobackupex --databases='MYDATABASE mysql' /backupdir


/backupdir - корневой каталог бекапов
/backupdir/timestamp_of_full_backup - каталог только что созданного командой полного бекапа
2. Делаем инкремент после Full Backup ( на выходе получим /backupdir/timestamp_of_inc_backup ) :

innobackupex --incremental /backupdir --incremental-basedir=/backupdir/timestamp_of_full_backup


/backupdir - каталог, в котором будет хранится инкрементальный бекап
/backupdir/timestamp_of_full_backup - путь до полного бекапа, для которого будем делать инкремент

3. Восстановление БД из полного бекапа

innobackupex --apply-log --redo-only /backupdir/timestamp_of_full_backup

4. Сливание инкремента в полный дамп :

innobackupex --apply-log --redo-only /backupdir/timestamp_of_full_backup --incremental-dir=/backupdir/timestamp_of_inc_backup

NB — Инкрементальный бекап мы можем делать от другого инкрементального бекапа, создавая цепочку full — incremental1 — incremental2 — incrementaln , но в этом случае при восстановлении нам нужно будет пройти всю цепочку. Начало и конец бекапа вычисляются на основе LSN ( Log Sequence Number ).

Tags: , , , ,

Бекапирование и перенос БД на другой сервер при помощи innobackupex

Posted in Новости on мая 23, 2018 by admin

NB — Destination сервер должен быть пустой.

Итак, мы будем переносить бекап наших БД при помощи инструмента от Percona — innobackupex . Утилита создает не текстовую sql копию БД, а побитовую копию.
1. Создаем на исходном сервере бекап требуемых БД ( мы берем с собой mysql для сохранения всех доступов ). В данном случае у нас создастся подкаталог с таймштампом начала бекапирования ( timestamp_of_full_backup )

innobackupex --databases='MYDATABASE mysql' /backupdir

2. Переносим на новый сервер ( например при помощи rsync )
3. Теперь сливаем логи InnoDB в таблицы

innobackupex --apply-log --export /backupdir

4. Стопаем MySQL и удаляем все текущие данные в нем

rm -rf /var/lib/mysql/*

5. Импортируем дамп :

innobackupex --copy-back /backupdir/timestamp_of_full_backup

6. Меняем права на нормальные :

chown -R mysql.mysql /var/lib/mysql

7. Стартуем MySQL

Tags: , , , ,