Xtrabackup для бекапов Mysql
Xtrabackup — это необходимый инструмент для создания горячих бэкапов MySQL. Инструмент создает резервную копию сервера (т.е. всех баз данных сразу) без блокировок и остановок. Устанавливается из пакетов:
apt-get install percona-xtrabackup
Если нет в пакетах.
Создание резервной копии
Сначала копируем файлы текущего сервера с помощью команды:
innobackupex --user=root --password=pwd /var/backups
В папке /var/backups будет создана подпапка с текущей датой (например, 20201010132431). После этого необходимо накатить лог изменений на файл данных:
innobackupex --user=root --password=pwd --apply-log /var/backups/20201010132431
Теперь эту папку можно сохранить на резервный сервер и ждать случая для использования.
Восстановление
Для восстановления достаточно скопировать бэкап в папку данных MySQL (параметр datadir в my.cnf):
/etc/init.d/mysql stop mv /var/lib/mysql /var/lib/mysql.old mv /var/backups/db/20201010132431 /var/lib/mysql chown -R mysql:mysql /var/lib/mysql /etc/init.d/mysql start
Периодическое копирование
Резервирование лучше добавить в cron и выполнять раз в час (день, если база занимает более 10Гб):
rm -rf /var/backups/db.prev mv /var/backups/db /var/backups/db.prev innobackupex --user=root --password=pwd /var/backups d="/var/backups/db/`ls /var/backups/db`" innobackupex --user=root --password=pwd --apply-log $d
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: