Восстановливаем базу данных

24 Май 2008
Опубликовано VladSavitsky

Задача

Если у вас есть резервная копия базы данных (дамп), то вы можете использвовать эту копию, чтобы восстановить работоспособность сайта.

Решение

Варианты

  • Программа mysql (через SSH)
  • Sypex Dumper Lite - восстановление через веб-интрефейс больших дампов
  • Staggered MySQL Dump Importer - импорт больших и очень больших дампов.

Программа mysql (через SSH)

Программа mysql входит в комплект поставки MySQL, как и mysqldump.

  • Файл резервной копии (dump.sql) закачать на сервер
  • Распаковать закачанный файл, если он был упакован.
  • Подключиться через SSH к серверу
  • Перейти в папку с файлом резервной комии, чтобы не указывать путь к файлу dump.sql.
  • Выполнить команду:
    > mysql -uLOGIN -PPORT -hHOST -pPASS DBNAME < dump.sql

скрипт Sypex Dumper Lite

Для восстановления лучше использовать: Sypex Dumper — бекап и восстановление БД MySQL, потому что "в отличии от многих подобных скриптов не загружает бекап-файл целиком в память, благодаря чему, ему безразличен размер базы данных и он одинаково быстро работает, как с маленькими, так и с большими объемами данных."

Установка

  1. Распаковать скачанный zip-файл.
  2. Закачать dumper.php в один из каталогов вашего сервера (доступный из web).
  3. Установить для этого каталога CHMOD 777 (см. Права доступа к файлам).

Использование

  1. Открыть в браузере URL вида: http://domain.com/dumper.php.
  2. Ввести логин и пароль для вашей БД.
  3. Восстановление БД из резервной копии:
    1. Выберите базу данных в нижнем разделе главной страницы.
    2. Выберите файл из раскрывающегося списка. Если необходимо, то предварительно закачайте файлы резервных копий в папку backup.
    3. Нажмите Применить.
    4. Теперь только остается наблюдать за процессом восстановления БД.

Фильтры

В фильтре таблиц указываются специальные шаблоны по которым отбираются таблицы. В шаблонах можно использовать следующие специальные символы:

  • символ * — означает любое количество символов
  • символ ? — означает один любой символ
  • символ ^ — означает исключение из списка таблицы или таблиц

Примеры:

  • drupal_* - все таблицы начинающиеся с "drupal_"
  • drupal_*, ^drupal_sessions - все таблицы начинающиеся с "drupal_", кроме "drupal_sessions"
  • drupal_s*s, ^drupal_sessions - все таблицы начинающиеся с "drupal_s" и заканчивающиеся буквой "s", кроме "ib_sessions"
  • ^*s - все таблицы, кроме таблиц заканчивающихся буквой "s"
  • ^drupal_???? - все таблицы, кроме таблиц, которые начинаются с "drupal_" и содержат 4 символа после знака подчеркивания

скрипт Staggered MySQL Dump Importer

Ступенчатый импорт больших и очень больших дампов MySQL (типа phpMyAdmin 2.x Dumps) даже через веб-серверы с жёстким ограничением времени выполнения (runtime limit) и тех, что работают в безопасном режиме (safe mode).
Скрипт выполняет только маленький кусок огромного дампа и перезапускает себя. Следующая сессия начинается там, где закончилась предыдущая.

Подробности: http://www.ozerov.de/bigdump.php

Вывод

Программу mysql можно использовать, если есть SSH-доступ к серверу базы данных.
Если же SSH отсутствует, то придётся использовать скрипт Sypex Dumper Lite или подобный.

Использованные материалы

Комментарии

ещё есть популярная связка на хостингах
Cpanel + phpMyAdmin

раньше в phpMyAdmin было ограничений до 50 мб, но сейчас (кажется) можно разбивать архив на части до 50 мб и загружать по частям

Олег | Сен 28th, 2009 в 10:38 утра
 
 
 

RSS-лента новостей

Dries Buytaert по-русски
]]>Русский поиск Drupal]]>

Перенос сайта из Joomla в Drupal
Перенос сайта из WordPress в Drupal

]]> Drupal - это бесплатная система управления контентом с открытым исходным кодом ]]>