Перенос базы данных MySQL на другой сервер

Редактор: Андрей Барашков 36002 5 мин Аудио

Статья создана совместно с хостинг-провайдером Спринтхост.

Что такое база данных?

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

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

Как перенести базу данных?

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

Также вы можете воспользоваться нашими инструкциями и сделать все самостоятельно.

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

Дамп — это копия БД в формате .sql, набор инструкций для воссоздания структуры базы данных и наполнения ее информацией. То есть, если открыть этот файл в текстовом документе, то в нем вы найдете набор команд SQL. Дамп также можно использовать в качестве резервной копии и хранить его на локальном компьютере. В случае утери всей БД, вы сможете восстановиться из дампа.

Создать дамп можно несколькими способами:

  1. В панелях управления хостингов иногда присутствует возможность скачать дамп одной кнопкой. Например, в Спринтхост это можно сделать через раздел "Базы данных" Панели управления. Достаточно кликнуть по названию нужной БД и нажать кнопку "Скачать резервную копию". Там же можно и загрузить уже существующий дамп на хостинг.
  2. В веб-интерфейсе phpMyAdmin во вкладке "Экспорт".
  3. Утилитой mysqldump в консоли.

Перед переносом БД на другой хостинг нужно на нем создать пустую базу, куда и будут загружаться данные. В Спринтхост это можно сделать в разделе "Базы данных" → "Создать базу данных".

Как скачать дамп через phpMyAdmin

phpMyAdmin — веб-интерфейс для работы с базами данных MySQL. Он доступен как в Спринтхост, так и у подавляющего большинства других площадок.

1. Авторизоваться в интерфейсе можно как обычным пользователем (тогда отобразятся все базы данных), так и под логином конкретной базы данных (этот способ удобен, если нужно предоставить доступ стороннему разработчику для работы с конкретной БД).

Авторизация пользователя на Спринтхост

2. В левой части интерфейса есть список баз, кликните по той, которая вам необходима.

Левая часть интерфейса с базами данных на Спринтхост

3. Затем в правой части зайдите во вкладку "Экспорт" и нажмите "Вперед".

Экспорт баз данных с текущего сервера у Спринтхост

4. Браузер либо предложит скачать дамп на локальный компьютер, либо автоматически это сделает. В любом случае у вас должен быть готовый дамп.

5. Чтобы загрузить дамп на новый хостинг, нужно выполнить те же действия, только перейти во вкладку "Импорт", кликнуть на "Обзор", выбрать дамп на компьютере и нажать "Вперед".

Импорт баз данных на Спринтхост

У phpMyAdmin дружественный интерфейс, поэтому с ним легко работать.

Создание и загрузка дампа через консоль

Способ подключения по SSH зависит от операционной системы, на которой вы работаете. У Linux это встроенная консоль, а у Windows — SSH-клиент PuTTY, который нужно сначала скачать. Для создания дампа БД в консоли необходимо использовать утилиту mysqldump.

1. Соединитесь с сервером по SSH.

ssh login@domain.ru

Здесь login — логин в Панели управления, domain.ru — любой из доменов, размещаемых на хостинге. Вместо домена можно указать IP-адрес сервера, который можно посмотреть в Панели управления.

2. Введите пароль для входа в Панель управления. Не переживайте, что в консоли ничего не вводится — это такая защита от "лишних глаз".

3. После ввода пароля можно создать дамп следующей командой:

mysqldump -u user -p dbname > dump.sql 

user — это имя пользователя вашей БД, dbname — название БД, dump.sql — название файла, в который будет сохранен дамп.

3. Введите пароль пользователя БД (не перепутайте с паролем для входа по SSH, так как они могут отличаться).

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

Иногда консоль может выдать такую ошибку "mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces". Не пугайтесь, она ни на что не влияет, дамп спокойно создастся.

Чтобы импортировать созданный дамп в новую БД, нужно загрузить его в файловый менеджер хостинга. Делается это точно так же как и при скачивании дампа из файлового менеджера: либо через Панель управления, либо через FTP.

1. Снова подключитесь по SSH к хостингу, на который переносите БД, и введите пароль;

2. Перейдите в директорию (папку), где лежит файл с дампом, при помощи команды cd. Если он находится в корневой папке, то переходить никуда не нужно — оставайтесь на месте:

cd domains/domain.ru

"domains/domain.ru" — это путь до директории domain.ru.

В нужной директории введите:

mysql -u user -p dbname < dump.sql

user — имя пользователя вашей БД, dbname — название вашей БД, dump.sql — имя файла дампа, который нужно импортировать;

Если утилита mysql завершила работу без ошибок, дамп будет корректно загружен в БД.

Работа через FTP

Через FTP нельзя создать дамп и загрузить его сразу в БД, но можно скачать существующий к себе на компьютер или, наоборот, "забросить" его в файловый менеджер хостинга, а потом уже при помощи консоли перенести в базу данных. Для подключения существует несколько FTP-клиентов, но самый популярный и известный — FileZilla. Данные по подключению уточните у вашего хостинг-провайдера, мы будем рассказывать на примере Спринтхост.

1. Для подключения удобно использовать панель быстрого соединения в верхней части программы. Заполните поля: хост – IP-адрес вашего аккаунта, имя пользователя – логин от Панели управления и пароль пользователя. По умолчанию для соединения FileZilla использует 21 порт;

2. Нажмите кнопку "Быстрое соединение";

Соединение с FileZilla на Спринтхост

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

Что делать, если ничего не получается?

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

Если все же вы на каком-то шаге зашли в тупик, что-то не работает и у вас ничего не получается, то обязательно пишите в поддержку. Поддержка Спринтхост работает круглосуточно, поэтому поможет в любое время и подскажет, в чем была ошибка. Также помните, что техподдержка может все перенести самостоятельно, и она будет только рада помочь клиенту. Кроме того, можно обратиться к Базе знаний Спринтхост, где можно найти еще больше инструкций.

Андрей Барашков
Не нашли ответ на свой вопрос?
Задайте его экспертам! Ответ приходит очень быстро и прямо на ваш email.

Добавляя подтверждение "Я не робот" вы так же даете согласие получать сообщения от ru.hostings.info и принимаете его Политику конфиденциальности, позволяя ru.hostings.info хранить и обрабатывать вашу личную информацию, указанную выше, для предоставления вам запрашиваемого контента.

Рейтинги хостинг-провайдеров по задачам сайта
Апреля
Панель управления

От панели управления зависит ваше удобство в настройке хостинге\сайта.

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

Вид хостинга

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

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

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

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

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

CMS

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

Тип виртуализации

Виртуализация - это создание виртуальной среды на физическом сервере, позволяющая запускать требуемые ПО без затрагивания процессов, совершаемых другими пользователями сервера.  С её помощью ресурсы физического сервера распределяются между виртуальными (VPS/VDS). Основные виды: аппаратная (KVM), паравиртуализация, виртулизация на уровне ОС (OpenVZ).

Прочее

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

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

Безопасный хостинг - тот, где администрация постоянно обновляет ПО установленное на серверах, устанавливает базовую защиту от DDoS-атак, антивирус и файерволлы, блокирует взломанные сайты и помогает их "лечить".

Защита от DDOS - компании, которые предоставляют хостинг с защитой от DDoS-атак. Такие пакеты ощутимо дороже обычных, но они стоят своих денег, так как ваш сайт будет защищен от всех видов сетевых атак.

Бесплатный тест

Тестовый период - предоставляется хостером бесплатно на 7-30 дней, чтобы вы могли удостовериться в его качестве.

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

Региональные
Цена

Настоятельно рекомендуем не покупать слишком дешевый хостинг! Как правило с ним очень много проблем: сервер иногда не работает, оборудование старое, поддержка долго отвечает или не может решить проблему, сайт хостера глючит, ошибки в регистрации, оплате и т.д.

Также мы собрали тарифы от тысяч хостеров, чтобы вы могли выбрать хостинг по конкретной цене.

Технологии и ОС

На языке программирования PHP и базах данных MySQL сейчас работает большинство сайтов. Они же поддерживаются практически всеми современными хостингами.

ASP.NET - платформа для разработки веб-приложений от Майкрософт.

ОС - операционная система, установленная на сервере хостинга. Мы рекомендуем размещать на серверах с Linux, если нет особых требований у разработчиков сайта.

Тип диска