MySQL I Заливка больших дампов

2.66K
.
AlkatraZ
╭∩╮ (`-`) ╭∩╮
Наверно многие сталкивались с такой ситуацией, когда дамп базы вашего сайта (sql файл, backup) очень большой и залить его на сервер средствами phpMyAdmin невозможно, ибо он переваривает файлы максимальным весом в 2 мегабайта.
А что делать, если ваша база большая, к примеру 100, или 200 мегабайт, или еще больше?
К примеру, мне на днях понадобилось залить базу данных газенвагена локально, на Денвере (для тестирования), база весит 396 мегабайт и все программы, что у меня были, не смогли переварить этот файл.

К примеру, я использую отличную программу для работы с базами данных NaviCat, она сама умеет делать дампы базы любого размера и отлично потом их восстанавливает.
Но беда в том, что у нее свой формат файлов дампа, и архив нужно сделать именно этой программой, чтоб потом восстановить.
Конечно она работает и с SQL файлами, но с большими базами тоже проблема. Если файл более 50 мегабайт, то программа виснет на середине работы и все...

Я использовал MySQL GUI Tools, она благополучно заливает файлы до 100 мегабайт, но на 300 мегабайтном и она усралась.
Новая программа от разработчиков MySQL под названием MySQL Workbench - глючная, постоянно вылетает и я сразу же ее удалил, после 10 минут знакомства.
.
╭∩╮ (`-`) ╭∩╮
Но что делать?
Как быть, если нужно залить большой SQL файл?
По этому поводу, я вдарился в археологические раскопки дебрей Гугла и на мое удивление, откопал простейшее, но отлично работающее решение
Удивило меня то, что это не какая-нибудь перенавороченная програмулина, да еще платная.
Это маленький, но уникальный РНР скриптик от нашего отечественного разработчика Алексея Озерова.
Весь скрипт состоит всего лишь из одного файла.
И самое удивительное то, что он умеет заливать SQL дампы ЛЮБОГО (!!!) размера!
Мою Газеновскую базу размером 396 мегабайт, как говорится "зохавал с потрохами", все загрузилось четко и без ошибок.
Наконец, найдено достойное решение
.
╭∩╮ (`-`) ╭∩╮
Итак, вот сам скрипт. Это всего один файл
Как им пользоваться?

1) Вначале откройте сам файл в РНР редакторе. В самом начале увидите следующие строчки:

$db_server = 'localhost';
$db_name = 'johncms';
$db_username = 'root';
$db_password = '';

Названия переменных говорят сами за себя. Пропишите там реквизиты доступа к базе Вашего сайта (те, что записаны в файле движка /incfiles/db.php)

2) Залейте в корень сайта дамп базы данных (SQL файл), который Вам нужно восстановить.

3) Залейте в корень сайта данный скрипт bigdump.php

4) Наберите в браузере http://ваш_сайт/bigdump.php

5) В открывшемся окне увидите список файлов Вашего сайта. В списке, напротив SQL файла вы увидите ссылку "Start Import", жмите ее.
Начнется процесс заливки базы, который в зависимости от размера базы и мощности сервера, может занять несколько минут.

6) Все, база залита
НЕ ЗАБУДЬТЕ (!!!) после успешной заливки дампа, удалить скрипт bigdump.php и SQL файл, который Вы восстанавливали.
Прикрепленные файлы:
.
╭∩╮ (`-`) ╭∩╮
Да, еще маленький совет.
Для надежности, чтоб пока вы восстанавливаете базу, еще кто-то не набрал этот же адрес и не напортачил, переименуйте файл bigdump.php дайте ему другое имя.
.
¤
Прекрасные новости для многих
.
╭∩╮ (`-`) ╭∩╮
VARG (19.05.2011/22:37)
Прекрасные новости для многих
Знаю
Для меня самого это была отличная находка, ибо мучался с большими базами.
У Газена около 400 мегабайт, да и база нашего сайта уже подбирается к 200 мегабайтам.
.
ПеревозЧЕГ
Лопух Паутинистый
мало того что большие базы заливает так еще и все элементарно просто. Так что однозначно плюс этому файлу большой
.
Поверь в мечту!
В чем же интересно суть алгоритма этого скрипта? Он наверно пакетами заливает данные?
.
AlkatraZ, а дампером (http://sypex.net) не пробывал пользоваться? Как этот скрипт справляется с такими объемами?
.
Слава яйцам..нашлось решение роблемы
Всего: 75