F A Q

К А Л Ь К У Л Я Т О Р

С помощью данного инструмента Вы сможете определить расходы на создание сайта.

Получите информацию по каждому виду работ и их стоимость.

  

Вы здесь: Статьи / Импорт большой базы данных на хостинг

Импорт большой базы данных на хостинг

Иногда появляется необходимость переместить большую базу данных сайта с одного хостинга на другой. Это достаточно тривиальная задача, однако решить ее с помощью стандартных средств администрирования (как правило, phpMyAdmin), предоставляемых хостером, нет возможности из-за ограничений на объем загружаемого файла.

Для импорта больших баз данных используются специальные php-скрипты, либо web-приложения, загружающие файл дампа базы данных на хостинг (по ftp) и импортирующие таблицы из дампа базу данных.

Мне приходилось сталкиваться с двумя такими средствами: скрипт bigdump.php и приложение Sypex Dumper. В сущьности, они очень пожожи, за исключением некоторых нюансов использования и несколько больших возможностей приложения, по сравнению со скриптом.

Для того, чтобы выполнить импорт базы данных с помощью bigdump.php, необходимо, для начала, его отредактировать. Он содержит несколько ключевых переменных:

$db_server = 'host';

$db_name = 'dbname';

$db_username = 'username';

$db_password = 'password';

$db_connection_charset = 'utf8';

$max_query_lines = 10000;

Первые четыре отвечают за подключение к серверу и базе данных. В них нужно указать сервер баз данных, имя базы, логин и пароль пользователя, имеющего право редактировать базу данных. max_query_lines - максимальное количество строк в таблице, connection_charset - кодировка, в которой необходимо импортировать вашу базу. Здесь может быть много вариантов, зависит от хостера, от кодировок таблиц и самой базы. Кодировка базы на хостинге меняется следующим образом: через phpMyAdmin нужно выполнить запрос:

alter database имя_вашей_базы_данных charset=кодировка;

Кодировки таблиц можно посмотреть, открыв файл дампа импортируемой базы в блокноте и найдя в нем строки типа"ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;" для каждой из таблиц.

Следующим шагом, после редактирования переменных скрипта, будет его запись на хостинг, например, в корень сайта и его открытие через броузер (http://my.site/bigdump.php). Вы увидите окно приглашения, в котором будет предложено выполнить загрузку файла базы на сервер.

Загрузка большой базы данных на сервер

Загружайте файл, после завершения процесса загрузки он появится в таблице, на той же странице.

Далее, нажав на ссылку Start Import, вы попадете на новую страницу, где отображается ход импорта. Он осуществляется достаточно быстро, по сравнению с импортом через phpMyAdmin.

импорт большой базы данных

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

процесс импорта большой базы данных

Импорт через приложение Sypex Dumper осуществляется аналогичным образом, за исключением некоторых нюансов. Это приложение существует в платной и бесплатной версиях. Бесплатную версию можно скачать с сайта производителя, либо с этого сайта в разделе загрузок. После распаковки архива у вас будет папка sxd, которую нужно по ftp положить на web-сервер. Далее в подпапку backup папки sxd загрузить дамп базы данных.

Зайдя через броузер по ссылке http://my.site/sxd вы увидите окно авторизации. В него необходимо ввести пользователя базы данных и его пароль. Программа Sypex Dumper поддерживает набор операций с базами, главным образом, экспорт и импорт данных. Для импорта нужно перейти на соответствующую вкладку, в поле с названием базы выбрать ту, в которую нужно загрузить данные. Она должна быть абсолютно пустой! В списке дампов нужно выбрать файл дампа, который надо импортировать, определиться с кодировкой базы и нажать кнопку "Выполнить". Если все в порядке, база будет импортирована.