1

Тема: Восстановление большой БД, имеющий объем более 8Мб

Случилось так, что слетела БД на одном из информационный сайтов, причем ее объем превышал 30Мб и восстановить ее стандартными средствами phpmyadmin не представлялось возможным (существует ограничение на закачку в 8,192 КБ). Хорошо, если техподдержка хостинга работает оперативно, но все равно лучше всего восстанавливать базу своими силами, чтобы не зависеть от сторонней помощи.

После непродолжительного поиска, кажется было найдено не плохое решение с использованием программного продукта Sypex Dumper, который позволяет работать с очень большими БД.

Sypex Dumper [са\'йпэкс да\'мпер] — это программный продукт (PHP-скрипт), с помощью которого можно просто и быстро создать резервную копию (бекап, бэкап, дамп) базы данных MySQL, а также восстановить в случае необходимости базу данных из резервной копии.

История создания

Началась наша история когда база данных одного сайта увеличивалась стремительными темпами, и её размеры перевалили за 10 МБ, а глубокоуважаемый phpMyAdmin вместо столь желанного дампа начал выдавать пустые страницы либо ошибки. Естественно phpMyAdmin многократно мысленно проклинался, но делу это не помогло. Тогда начались поиски альтернативного программного обеспечения, но ничего достойного внимания найдено не было.

Что делать? Пришлось заняться созданием своей утилиты для резервного копирования и восстановления баз данных MySQL. А далее дело техники и времени...

Поделиться

2

Re: Восстановление большой БД, имеющий объем более 8Мб

К сожалению, на одном из хостингов, на которых лежат "жирные сайты" программа не работает, завершаясь ошибкой при выборе БД

MySQL Error: Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 50089, now running 50150. Please use mysql_upgrade to fix this error. (/var/www/xxxx/data/www/mysite.ru/sxd/index.php:1413)

Поделиться

3

Re: Восстановление большой БД, имеющий объем более 8Мб

...Пришлось воспользоваться версией Sypex Dumper Lite 1.0.8. Здесь уже проблем с подключением к БД не возникло, но после восстановления БД страницы сайта отображались кракозябрами.
Рекомендации с сайта Sypex Dumper сначала не помогли, но затем все получилось как надо.

Последовательность восстановления на сайте DLE:

1. Удалить все таблицы запорченной БД.
2. В любой каталог на хостинге доступный по WEB залить damper.php (устанавливать права 777 на этот каталог, как оказалось совсем не обязательно), предварительно изменив значение RESTORE_CHARSET на forced->cp1251.
3. После восстановления БД сразу же в phpmyadmin проверить кодировку дампа той базы, которую восстанавливали. Если там все нормально, то и на сайте все должно быть ОК. Если же кодировка будет нарушена то нет смысла экспериментировать - нужно опять сносить все таблицы и восстанавливать снова...

Поделиться

4

Re: Восстановление большой БД, имеющий объем более 8Мб

Site_Bot пишет:

Последовательность восстановления на сайте DLE:

Если сайт на DLE, то можно поступить еще проще не применяя никакие посторонние программы для восстановления большой базы данных. Для восстановления большой БД достаточно иметь под руками любую другую базу DLE небольшого объема, даже не принадлежащую данному сайту.

1. Загружаем через phpmyadmin любую DLE-базу небольшого объема (если нет подходящей, то либо сокращаем уже имеющуюся, либо создаем любую новую на том же Денвере).

2. Корректируем dbconfig.php сайта под эту базу, если это необходимо.

3. Пробуем зайти в админку сайта. Если зашли, то далее заходим в раздел "Управление базой данных" и там восстанавливаем ту, которую необходимо было восстановить изначально.

Поделиться