Перенести базу данных с одного хостинга на другой

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

Раньше, мои сайты были размещены на серверах трех разных провайдеров, я решил отказаться от одного из них. Как раз заканчивается период его оплаты, а на оставшихся двух еще есть достаточно места.

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

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

В своей статье «Что такое сайт?» я рассказывал о трех компонентах каждого интернет ресурса. При переносе мы должны поработать с каждым из них.

Во-первых , нужно найти новый хостинг, который будет удовлетворять всем вашим требованиям.

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

В-третьих , потребуется перенести все данные (файлы, базы данных) со старого хостинга на новый.

Это вкратце, теперь давайте рассмотрим весь процесс в подробностях. Максимум, для переноса потребуется 8 шагов. Я буду описывать процесс исходя из предположения, что у вас уже есть новый хостинг, если у вас его еще нет, то сначала выберите подходящий и зарегистрируйте в нем аккаунт, порекомендовать могу один из этих (ссылки партнерские): Timeweb или Sprinthost .

Первое, что нам нужно сделать для переноса – это добавить доменное имя сайта в ваш аккаунт и привязать к нему соответствующие папки, в которые мы, в дальнейшем, будем переносить файлы вашего web ресурса. Для этого нужно найти в панели управления раздел, связанный с управлением доменами, обычно, он так и называется.

В этом разделе, как правило, есть две функции – зарегистрировать новый домен и перенести домен. Выбираем перенос домена и указываем переносимый адрес. Это действие еще не подключает домен к новому хостингу, оно лишь готовит аккаунт к будущему подключению. В админке хостинга, на который я переносил сайты это выглядит вот так:

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

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

Скачиваем файлы на компьютер:

Если ваш ресурс очень простой (выполнен на простом HTML) и не имеет баз данных, то пункты с 3 по 6 можно пропустить. Но любой сайт, использующий систему управления контентом (CMS), требует для своей работы базу данных MySQL, ее тоже необходимо перенести.

Для этого в админке вашего старого хостинга находите раздел «Управление базами данных MySQL». Заходите в панель администратора phpMyAdmin. Выбираете нужную базу и выбираете вкладку «Экспорт».

В меню экспорта базы данных установите для скачивания архивный формат ZIP или GZIP. Нажимаете кнопку “ОК” и указываете место на вашем компьютере, куда будет сохранен файл.

Точно также, как и в предыдущем пункте, открываете на другом хостинге раздел «Управление базами данных» (Базы MySQL), только вместо выбора нужной базы – выбираете пункт создать новую базу данных.

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

Нажимаете кнопку создать, и у вас появится новая база данных. Если вы перейдете внутрь этой базы, то там не будет ни одной таблицы, пока она пуста.

После того, как вы создали новую базу данных, необходимо скопировать на нее информацию из той базы, которую вы экспортировали со старого сервера. Для этого выбираете меню «Ипморт». Через окно указываете путь к базе, сохраненной на вашем компьютере, и нажимаете импортировать.

Все таблицы будут созданы и заполнены автоматически. На серверах разных провайдеров может использоваться разное программное обеспечение, поэтому, несмотря на полную совместимость всех баз, иногда, могут возникать проблемы. У меня выскочила ошибка 1062, решение проблемы я описал здесь. В 99% случаев перенос пройдет гладко.

После того, как мы перенесли файлы и базу данных, нам нужно связать их между собой. Для этого найдите конфигурационный файл вашей CMS. В WordPress он называется wp-config.php, находится он в корневой директории сайта (прямо в public_html).

Открываете этот файл для редактирования и заменяете следующие строки:

/** Имя базы данных для WordPress */

/** Пароль к базе данных MySQL */

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

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

Проверяем работу сайта на новом хостинге:

– некоторые хостинги для каждого сайта создают технический домен. Обычно это домен 4 уровня, похожий на moysait.ru.hosting.ru – по этому адресу ваши страницы работают, даже если не работает ваш основной домен. Проверьте, если там все функционирует нормально, значит, переходите к следующему пункту.

– другой вариант подойдет в том случае, если технический адрес на вашем хостинге не предоставляется, но у вас есть на нем другие, работающие домены. Вы можете создать для одного из них поддомен типа test.sait.ru . Подключить этот поддомен к папке public_html вашего нового сайта и проверить как и в предыдущем случае.

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

Итак, у вас все готово, файлы и база работают нормально на новом сервере. Осталось только перенаправить доменное имя на другой хостинг. Для этого нужно изменить NS записи домена. Сейчас в них прописаны NS сервера старого хостинга, поэтому вся информация берется с них. Нам же требуется их переписать.

Заходим в ваш аккаунт у регистратора доменных имен, если вы регистрировали домен напрямую у регистратора. Находите раздел «управление DNS» и делаете запрос на их замену. Новые значения вам нужно найти либо на сайте нового провайдера, либо узнать их через техническую поддержку.

Выглядят эти записи примерно вот так (это для моих хостингов):

ns1.timeweb.ru
ns2.timeweb.ru
ns3.timeweb.org
ns4.timeweb.org

У любого другого хостера DNS записи свои.

В том случае, если ваш домен регистрировался через хостинг компанию – обратитесь для смены DNS в ее доменную службу или техподдержку.

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

Недавно встал вопрос переноса сайта с одного хостинга на другой. С сайтами на одном только html и css без баз данных — трудностей возникать не должно. Танцы с бубном начинаются когда вы являетесь счастливым обладателем сайта с базой данных. Сейчас таких сайтов в интернете — подавляющее большинство.

Сами файлы сайта мы можем перенести с помощью обычного копирования с хостинга на хостинг

Для того, чтобы перенести базу данных с одного сервера на другой нам нужно:
1. Скачать дамп базы данных к себе на компьютер (операция Экспорт).

2. Загрузить дамп базы данных на сервер хостинга (операция Импорт).

Сделать это можно несколькими различными способами. Некоторые CMS даже позволяют выполнять данные операции своими внутренними средствами. Также можно воспользоваться дампером баз данных MySQL . Но самый привычный и распространенный способ для переноса баз данных — это перенос средствами панели управления базами данных phpMyAdmin , которые хотелось бы рассмотреть в этой статье.

Нужно зайти в phpMyAdmin того сервера, на котором сейчас находится база данных, которую нам необходимо перенести, и в левой части меню в списке баз данных выберите ту, которую необходимо перенести.

Нужно перейти на вкладку «Экспорт» и выбрать в качестве «Способа экспорта» — Обычный — отображать все возможные настройки.

После этого нужно обратить свое внимание на поля:
1. Во вкладке таблицы должны быть выбраны все таблицы, которые необходимо импортировать. Может быть такая ситуация, когда для переноса баз данных некоторые таблицы при импорте будут не нужны. В таком случае, можно снять выделение с тех таблиц, которые не нужны, выделив необходимые названия таблиц с зажатой клавишей Ctrl на клавиатуре. ( ВАЖНО! Если вы не являетесь опытным пользователем баз данных — лучше выделить все таблицы. )
2. Нужно выбрать пункт «Сохранить вывод в файл».
3. Запомните кодировку, которая установлена в поле — Кодировка файла.
4. Остальные пункты трогать не нужно, если вы не знаете, зачем они нужны.
5. Нажимаем OK, после чего сохраняем файл к себе на компьютер.

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

1. Проверяем расширение сохраненной базы дынных у себя на компьютере. Оно должно быть ‘ .sql ‘. Если при сохранении базы данных был указан пункт — архивировать её ( zip, gzip, bzip ) — нужно предварительно извлечь базу данных из архива.
2. Дамп нашей базы данных не должен содержать запросов типа «CREATE DATABASE, /*!40101 SET @OLD» . Убедиться в отсутствии или наличии подобного запроса можно, открыв дамп базы «блокнотом» или другим текстовым редактором. Если подобный запрос присутствует — следует удалить эту строчку и пересохранить файл. Как правило, она находится в первых 15 строчках дампа базы данных.
3. Необходимо убедиться, что в будующей базе данных не создано каких-либо таблиц. Для этого нужно зайти в phpMyAdmin и слева в меню в списке баз данных выбрать свою базу данных. Слева в меню вы можно увидеть сообщение «Таблиц в базе данных не обнаружено.». В случае если таблицы присутствуют — нужно удалить их.

После выполнения всех этих пунктов, смело можно переходить во вкладку «Импорт», в которой нажав на кнопку «Обзор» выбераем сохраненный дамп базы данных с компьютера. В поле «Кодировка файла:» выбераем кодировку, в которой эта база данных была создана.

Более никаких настроек вносить необходимости нет. Нажмите ОК и дожидаемся окончания импорта базы.

База успешно перенесена и после этого наш сайт будет работать уже на новом хостинге!( при условии, что все остальные операции по переносу сайта уже были сделаны).