Переносим базы данных правильно
В любой непонятной ситуации пользуйтесь инструкцией от «Спринтхост» по переносу баз данных.
Что такое база данных?
База данных (БД) — это структурированный набор информации, с которой сайт непосредственно взаимодействует. Например, у онлайн-магазина в БД хранятся позиции товаров, у новостных агрегаторов — посты и сами новости, практически у всех видов сайтов там хранится информация о пользователях, в особенности если существует возможность создания своего личного кабинета.
Потерять базу данных — это огромная проблема, так как восстановить информацию будет затруднительно. Именно поэтому нужно аккуратно подходить к вопросу хранения и переноса БД.
Способы переноса базы данных
БД нужно переносить, если вы собрались менять хостинг. Обычно такой переезд включает в себя перенос всей информации и данных, находящихся на аккаунте. Некоторые хостинги, например, Спринтхост, могут бесплатно перенести и сайты, и базы данных к себе, вам нужно только попросить об этом техподдержку. Но эта инструкция для тех, кто хочет сам разобраться во всех тонкостях.
Вариантов переезда не так много: через файловый менеджер, через FTP или SSH — но все они связаны с тем, что нужно создать дамп существующей базы данных.
Создать дамп можно несколькими способами:
- В панелях управления хостингов иногда присутствует возможность скачать дамп одной кнопкой. Например, в Спринтхост это можно сделать через раздел «Базы данных» Панели управления. Достаточно кликнуть по названию нужной БД и нажать кнопку «Скачать резервную копию». Там же можно и загрузить уже существующий дамп на хостинг;
- В веб-интерфейсе phpMyAdmin во вкладке «Экспорт»;
- Утилитой mysqldump в консоли.
Важно! Перед переносом БД на другой хостинг нужно на нем создать пустую базу, куда и будут загружаться данные.
Качаем дамп через phpMyAdmin
phpMyAdmin — веб-интерфейс для работы с базами данных MySQL. Он доступен как в Спринтхост, так и у подавляющего большинства других площадок.
1. Авторизоваться в интерфейсе можно как обычным пользователем (тогда отобразятся все базы данные), так и под логином конкретной базы данных (этот способ удобен, если нужно предоставить доступ стороннему разработчику для работы с конкретной БД);
2. В левой части интерфейса есть список баз, кликните по нужной вам.
3. Затем в правой части зайдите во вкладку «Экспорт» и нажмите «Вперед».
4. Браузер либо предложит скачать дамп на локальный компьютер, либо автоматически это сделает. В любом случае у вас должен быть готовый дамп.
5. Чтобы загрузить дамп на новый хостинг, нужно выполнить те же действия, только перейти во вкладку «Импорт», кликнуть на «Обзор», выбрать дамп на компьютере и нажать «Вперед».
У phpMyAdmin дружественный интерфейс, поэтому с ним легко работать.
Способ посложнее — через консоль
Способ подключения по SSH зависит от операционной системы, на которой вы работаете. У Linux это встроенная консоль, а у Windows — SSH-клиент PuTTY, который нужно сначала скачать. Для создания дампа БД в консоли необходимо использовать утилиту mysqldump.
1. Соединитесь с сервером по SSH:
Здесь login — логин в Панели управления, domain.ru — любой из доменов, размещаемых на хостинге. Вместо домена можно указать IP-адрес сервера, который можно посмотреть в Панели управления.
2. Введите пароль для входа в Панель управления. Не переживайте, что в консоли ничего не вводится — это такая защита от «лишних глаз»;
3. После ввода пароля можно создать дамп следующей командой:
mysqldump -u user -p dbname > dump.sql
user — это имя пользователя вашей БД, dbname — название БД, dump.sql — название файла, в который будет сохранен дамп.
4. Введите пароль пользователя БД (не перепутайте с паролем для входа по SSH, они могут отличаться);
5. Если все сделано правильно, то дамп вы найдете в файловом менеджере. Его можно скачать напрямую оттуда или с помощью FTP.
Чтобы импортировать созданный дамп в новую БД, нужно загрузить его в файловый менеджер хостинга. Делается это точно так же как и при скачивании дампа из файлового менеджера: либо через Панель управления, либо через FTP.
1. Снова подключаемся по SSH к хостингу, на который переносим БД, и вводим пароль;
2. Переходим в директорию (папку), где лежит файл с дампом, при помощи команды cd. Если он находится в корневой папке, то переходить никуда не нужно — оставайтесь на месте:
cd domains/domain.ru
«domains/domain.ru» — это путь до директории domain.ru.
3. В нужной директории вводим:
mysql -u user -p dbname < dump.sql
user — имя пользователя вашей БД, dbname — название вашей БД, dump.sql — имя файла дампа, который нужно импортировать;
4. Если утилита mysql завершила работу без ошибок, дамп будет корректно загружен в БД.
Скачиваем дамп через FTP
Через FTP нельзя создать дамп и загрузить его сразу в БД, но можно скачать существующий к себе на компьютер или, наоборот, «забросить» его в файловый менеджер хостинга, а потом уже при помощи консоли перенести в базу данных. Для подключения существует несколько FTP-клиентов, но самый популярный и известный — FileZilla. Данные по подключению уточните у вашего хостинг-провайдера, мы будем рассказывать на примере Спринтхост.
1. Для подключения удобно использовать панель быстрого соединения в верхней части программы. Заполните поля: хост – IP-адрес вашего аккаунта, имя пользователя – логин от Панели управления и пароль пользователя. По умолчанию для соединения FileZilla использует 21 порт;
2. Нажмите кнопку «Быстрое соединение»;
3. Если подключение прошло успешно, то в левой части интерфейса вы увидите папки и файлы своего компьютера, а справа — директории сервера, к которому вы подключились. Теперь можно спокойно переносить дамп, а затем при помощи консоли загрузить его в базу данных.
Если ничего не получается?
Главное, не переживайте. Перенос любых файлов с хостинга на хостинг по своему формату не отличается от переброски фотографий с одного компьютера на другой. Достаточно один раз разобраться, и в будущем вы будете это делать с закрытыми глазами.
Если все же вы на каком-то шаге зашли в тупик, что-то не работает и у вас ничего не получается, то обязательно пишите в поддержку. Поддержка Спринтхост работает круглосуточно, поэтому поможет в любое время и подскажет, в чем была ошибка. Техподдержка вообще может все своими ручками перенести, она будет только рада помочь клиенту. Кроме того, можно обратиться к Базе знаний, где можно найти еще больше инструкций.
дайте угадаю: автор поста - девочка-копирайтер
не угадали)