Создание резервных копий относительно больших баз данных

Итак, ситуация следующая. Имеем базу данных размером от нескольких сотен мегабайт до пары гигабайт (о базах больших размеров писать не буду, т.к. пока с ними не сталкивался). Задача — сделать дамп такой базы данных, т.е. её резервную копию. MySQL + PHP.

Для начала перечислю в корне НЕВЕРНЫЕ решения:

  • Использование PhpMyAdmin, SupexDumper и прочих.
  • Использование различных плагинов / модулей / модов и т.п. для создания резервных копий.

Почему применение перечисленных выше средств приведет к провалу операции? А потому, что это все будет на PHP, а там лимиты на максимальное время выполнения скрипта, на память (memory_limit), дальше надеюсь не нужно перечислять очевидные вещи?

Как сделать дамп БД размером в несколько гигибайт:

1. Для начала закройте по-нормальному доступ к сайту. Закройте его на техническое обслуживание, чтобы работалось вам без проблем.

2. Подключитесь к серверу по SSH.

3. Удостовертесь в том, что вам доступна специальная консольная утилита под названием mysqldump. Выполните команду подобную следующей

mysqldump -h pXXXXXX.mysql.ihc.ru -u pXXXXXX_example -p pXXXXXX_example > example081213.sql

По такому вот шаблону:

mysqldump -h ХОСТ_НАПРИМЕР_LOCALHOST -u ИМЯ_ПОЛЬЗОВАТЕЛЯ_БД -p ИМЯ_САМОЙ_БД > ИМЯ_ФАЙЛА_КОТ_ПОЛУЧИТСЯ_В_РЕЗУЛЬТАТЕ_ЭКСПОРТА.sql

По времени выполнения операция может занять от получаса до нескольких часов в зависимости от мощностей железа и размера БД. К примеру у меня на премиум-аккаунте хостинга IHC на создание дампа в 1.6 Гб ушло примерно минут 20-30 (точно не засекал), дамп же размером в 0.5 Гб создается за 5-10 минут.

После запуска mysqldump будет запрошен пароль, введите его и нажмите клавишу Enter (он не будет отображаться, обратите внимание).

Выгрузка будет сохранена в той же папке откуда вы запустили описываемое консольное приложение.

Опубликовано 8-12-2013 в 10:16


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>











Свежие комментарии

  • krasnov8953: к записи Не работает как мне кажется строчка $newTvId = $ »
  • Dimanski: к записи ничего не понимаю. Ставлю ModX на хостинг r01.ru »
  • Дмитрий: к записи Спасибо! Очень выручили. С битриксом беда, а прав »
  • леонид: к записи как сделать что были в ряд? у меня получается по о »
  • Администратор: к записи Статический IP. »
  • Steel: к записи Администратор, вы данную проблему решили подключен »
  • Дмитрий: к записи Хотел узнать как прикрутить данное окно (http://re »

Последние твиты