[РЕШЕНО] Дамп огромной базы на продакшене

Главные вкладки

Аватар пользователя gun_dose gun_dose 30 марта 2016 в 12:04

Надо обновить маленько один сайт, а там база весит более 5ГБ и порядка 20 тыс. посещений в сутки. Понятное дело, что без бэкапа такое делать нельзя никак и никогда. Через контрол панель хостинга поставил всё бэкапиться, ждал больше часа, файл бэкапа вырос более 10ГБ и процесс продолжался, надоело ждать, лёг спать, утром смотрю - бэкапа нет. Что-то пошло не так. Запустил тогда drush arb - он думал более часа, и результата я не дождался, нажал ctrl+c и пошёл по делам. В связи с этим у меня возник вопрос, как лучше поступить. И может ли быть это связано с тем, что в процессе бэкапа в базу постоянно что-то пишется и из-за этого по окончанию бэкапа получаются ошибки целостности? В общем, с радостью приму в дар все ваши идеи и советы Smile

Комментарии

Аватар пользователя dashiwa dashiwa 30 марта 2016 в 17:14

mysqldump баш скрипт с логированием,
Ошибку отловите в логах если прервется,может серверу не хватает памяти или таймаут
Выж сисадмин..

Аватар пользователя tlito tlito 30 марта 2016 в 17:29

вы тогда подскажите дамп с минимизацией использования ресурсов, например по таблицам или еще чтото

Аватар пользователя dashiwa dashiwa 30 марта 2016 в 18:36

Создаём структуру базы без данных
mysqldump --no-data - u USER -pPASSWORD DATABASE > /path/to/file/schema.sql

Если нужно сделать дамп только одной или нескольких таблиц
mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_table.sql

Аватар пользователя sas@drupal.org sas@drupal.org 31 марта 2016 в 8:24

- Заглянуть в базу и понять какие таблицы весят много - с ними разбираться отдельно
- Сделать тестирование/ восстановление целостности таблиц
- Потом если надо по частям - mysqldump ить, данные кеша = не паковать

Аватар пользователя gun_dose gun_dose 31 марта 2016 в 16:04

Всем спасибо! Mysqldump помог. Скопировалось довольно быстро. Правильно или нет - не проверял, к счастью бэкап не пригодился Smile Правда перед этим пофиксил пару ошибок - в журнал сыпались ежеминутно сотни php-предупреждений о non-object и undefined index. Починил это правкой пары строк в коде.

По поводу частичного дампа через пхпмайадмин: оказалось всё очень грустно - без кэшей и журнала база весит пару гигов - там около 30 тысяч нод + юзеры и комменты. Такая база бы скачивалась полдня, а задампить её в папку хостинга через пхпмайадмин не получалось - там пхпмайадмин очень старой версии, а обновлять ПО на этом хостинге я не подписывался.

ЗЫ: в который раз удивляюсь, сколько магии скрыто в командной строке)) Надо будет на досуге запилить себе на комп линукс.

ЗЗЫ: кто-нибудь может объяснить, почему иногда незапакованный дамп базы может весить значительно меньше, чем показывает пхпмайадмин?

Аватар пользователя DivaDii DivaDii 31 марта 2016 в 18:49

gun_dose wrote:

ЗЗЫ: кто-нибудь может объяснить, почему иногда незапакованный дамп базы может весить значительно меньше, чем показывает пхпмайадмин?

Разница в весе может быть из-за типа таблиц базы данных:

MyISAM или InnoDB

==

Ой. вопрос не о том.

В phpMyadmin - таблицы. В дампе - текстовый файл с командами.
Вес вполне может не совпадать.

Аватар пользователя sas@drupal.org sas@drupal.org 1 апреля 2016 в 7:20

gun_dose wrote:
Надо будет на досуге запилить себе на комп линукс.

Пересел на нее уже скоро как год, +100500 советую, ставьте сразу, например Linux mint KDE . Не лишне вспомнить, что web рождён на niкс'ах со всеми вытекающими ... относительно других осей Smile

Аватар пользователя sas@drupal.org sas@drupal.org 2 апреля 2016 в 22:05

По отношению к семерке = шустрее, но я на SSD мне и хрен слаще редьки Smile . Приоритеты легкости немного в другой плоскости, KDE - стоят уже библиотеки для девелопмента, но можно взять и легку очень cinnamon релиз http://blog.linuxmint.com/?p=2947 а дальше ... Smile