Задача
Если у вас есть резервная копия базы данных (дамп), то вы можете использвовать эту копию, чтобы восстановить работоспособность сайта.
Решение
Варианты
- Программа 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, потому что "в отличии от многих подобных скриптов не загружает бекап-файл целиком в память, благодаря чему, ему безразличен размер базы данных и он одинаково быстро работает, как с маленькими, так и с большими объемами данных."
Установка
- Распаковать скачанный zip-файл.
- Закачать dumper.php в один из каталогов вашего сервера (доступный из web).
- Установить для этого каталога CHMOD 777 (см. Права доступа к файлам).
Использование
- Открыть в браузере URL вида: http://domain.com/dumper.php.
- Ввести логин и пароль для вашей БД.
- Восстановление БД из резервной копии:
- Выберите базу данных в нижнем разделе главной страницы.
- Выберите файл из раскрывающегося списка. Если необходимо, то предварительно закачайте файлы резервных копий в папку backup.
- Нажмите Применить.
- Теперь только остается наблюдать за процессом восстановления БД.
Фильтры
В фильтре таблиц указываются специальные шаблоны по которым отбираются таблицы. В шаблонах можно использовать следующие специальные символы:
- символ * — означает любое количество символов
- символ ? — означает один любой символ
- символ ^ — означает исключение из списка таблицы или таблиц
Примеры:
- 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 мб и загружать по частям