dump_upload

Решил написать небольшой пост о том, как залить большой дамп базы данных. До недавних пор всегда заливал базы с помощью SSH, так как это очень быстро и удобно. Но зачастую возникает необходимость использования дешевых хостингов под сателлиты или ГС, огромным минусом которых является отсутствие SSH доступа на простых тарифах. Заливать базу с помощью phpMyAdmin я считаю полным извращением. В любом случае вам придется пилить ее на несколько частей, т.к. никакой хостинг не пропустит дампы большого размера, и вам придется долго всматриваться в сообщения об ошибках и каком-то max_allowed_packet =). Поэтому прибегнем к помощи PHP скриптов для восстановления базы данных.

Я использую два скрипта:

1) BigDump ( Скачать BigDump )

2) SypexDumperLite 1.08 ( Скачать Sypex Dumper )

Скажу сразу, BigDump справляется со своей задачей лучше любых аналогов. Скрипт работает быстро, а главное правильно. Из единственных минусов можно выделить отсутствие графической настройки скрипта. Поэтому для читателей, которые никогда не сталкивались с php, я поясню, как настроить скрипт.

Настройка BigDump

Находим в файле bigdump.php строку

// Database configuration

И приступаем к настройке соединения с базой

$db_server   = 'localhost'; /* Наш сервер, нужно оставить как есть */
$db_name     = ''; /* Название базы данных */
$db_username = ''; /* Пользователь БД */
$db_password = ''; /* Пароль пользователя БД */

Спускаемся ниже и видим строку

// Other settings (optional)

Тут надо поправить только этот параметр

$filename           = '';  /* Название дампа БД, который нужно положить в одну директорию со скриптом, к примеру, dump.sql */

Теперь ищем строки

// Connection character set should be the same as the dump file character set (utf8, latin1, cp1251, koi8r etc.)
// See http://dev.mysql.com/doc/refman/5.0/en/charset-charsets.html for the full list

И устанавливаем нужную кодировку файла с дампом

$db_connection_charset = ''; /* Чаще всего это utf8 или cp1251 */

С кодировкой могут возникнуть проблемы, поэтому обратите на этот параметр особое внимание. Я использую cp1251, если дамп создан под Денвером на локальной машине. Так же, при создании дампа через phpMyAdmin, снимите галочки с пунктов “Полная вставка” и “Расширенная вставка”, иначе скрипт начнет ругаться. Ну, вроде все, с настройкой BigDump разобрались, теперь можно приступать к восстановлению большого дампа.

Еще один скрипт, о котором я хотел упомянуть в рамках данного поста - SypexDumperLite. Он более легкий и имеет графическую настройку, что прекрасно подойдет для неопытных или ленивых веб-мастеров. Во всем остальном он значительно уступает BigDump. Лично мне не очень понравилось, как он работает с кодировками. Скрипт имеет более позднюю версию Sypex Dumper 2.0.5 Beta. Но бета она и в Африке России бета ;) Поэтому я даже не удивился, когда скрипт напрочь отказался лить дамп, сделанный под виндой. На настройке SypexDumper я останавливаться не буду, так как тут и ежу понятно, что к чему.

На этом все, что юзать – решайте сами. Ах да… Чуть не забыл, все-таки лучше делайте СДЛы, а не ГС на дешевых хостингах, тогда будет вам и SSH, и доступ к my.ini, и много чего еще.

Добавить блог программиста в закладки:



Похожие записи в блоге программиста: