Как вы делаете бэкапы?

У меня по крону запускается скрипт, который делает бэкап. Делает обычной командой mysqldump. Вся база примерно 16ГБ и постоянно растет. Сейчас бэкап делается минут 5 и все это время сайт недоступен.
Как вы делаете бэкапы?
  • Вопрос задан
  • 3272 просмотра
Решения вопроса 2
@dady_KK
PM
Мы делаем аналогично, но у нас на проектах очень маленькие базы. А Вам бы я посоветовал настроить репликацию мастер-слейв и делать бекап со слейва, в инете много туториалов на эту тему. Это должно решить вопрос с доступностью сайта + всегда можно дамп сжимать ганзипом и проверять после этого архив, а лучше делать распаковку и импорт в тестовую базу и следить за возникновением ошибок во время этого.
Ответ написан
SSar
@SSar
База примерно такого же размера как и у вас, и те же проблемы были в прошлом, посему сделали следующее:
1. Перешли на Percona (форк MySQL) наиболее быстрый из наших тестов среди форков.
2. Использовали ее фирменный и легковесный Percona XtraBackup который практически не тормозит базу и бесплатен:
https://www.percona.com/software/mysql-database/pe...
Если же у вас проблемы с местом на хостинге, ну т.е. нет у вас еще 16-20 гиг в заначке под файлы бэкапа, то тут уже по cron писать свои SQL скрипты для больших таблиц и бэкапить их по частям (к примеру по UnixTime индексного поля) на удаленный ftp или через nfs.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@d22b
Странно что сайт недоступен во время mysqldump. Попробуйте ключ --single-transaction если используется innodb. Это поможет например если логи доступа хранятся в таблице БД, во время mysqldump она залочена на запись, а сайт не работает если ему не дают логировать (в частности в magento есть такая проблема).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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