opium
@opium
Просто люблю качественно работать

Бекап mysql ложит сайт на несколько минут?

Собственно делаю бекап mysqldump

В бд есть одна большая таблица на 8 миллионов записей, видимо при её бекапе сайт и падает.

Вроде понижаю приоритет mysqldump

nice -n 19 ionice -c2 -n7 mysqldump mybd | gzip >mybd.sql.gz

Как лучше решить эту проблему?
  • Вопрос задан
  • 4497 просмотров
Пригласить эксперта
Ответы на вопрос 7
RicoX
@RicoX
Ушел на http://ru.stackoverflow.com/
Если есть свободный сервер, на него реплицировать базу как мастер-слейф, бэкапы сливать со слейфа, за одно будет горячий бэкап базы в случае факапа сервера.
Ответ написан
microphone
@microphone
Сломалось - читай логи!
гугл говорит
«При создании дампа базы данных в СУБД MySQL с помощью утилиты mysqldump она по умолчанию делает таблицы недоступными на запись на все время создания дампа. Это приводит к негативным последствиям...» первое что пришло на ум, может из-за блокировки падает?
Ответ написан
Комментировать
PaulZi
@PaulZi
Попробуйте Percona XtraBackup.
Ответ написан
@edogs
Не вполне понятна изначальная задача. Сделать бакап? Или что бы не падал от mysqldump-а?
Просто кроме mysqldump-а в первом случае можно посоветовать
а) sypex dumper
или
б) mysqlhotcopy
Ответ написан
SysCat
@SysCat
Делайте глухой ночью по крону, когда сайт нафиг никому не нужен.
Ответ написан
luckyredhot
@luckyredhot
Mysqldump — хорошая штатная утилита, но на таких объемах данных работает уже неудовлетворительно медленно.
Рекомендую посмотреть отличные презентации от Percona [1,2] и перейти на другое средство для резервного копирования/восстановления баз.
Ответ написан
Комментировать
goodprogrammist
@goodprogrammist
Добавьте --single-transaction --quick и --lock-tables=false чтобы не лочить на время дампа.

Пример

mysqldump -u USER -pPASSWORD --single-transaction --quick --lock-tables=false DATABASE | gzip > backupDB.gz

Источник
https://dev.mysql.com/doc/refman/8.0/en/mysqldump....
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы