Небольшое предисловие. Если мне надо было импортировать базу данных MySQL (например, при переходе на https), я пользовался phpMyAdmin. Способ был безотказным до тех пор, пока не появились необходимость импортировать файл БД больших размеров. Объём файла 360 мб, в zip-архиве 45 мб. Процесс импорта через phpMyAdmin длился более часа и закончился сообщением об ошибке соединения. При повторном запуске, появилось сообщение об удачном завершении импорта, но на поверку оказалось, что база данных не обновилась. Пришлось воспользоваться вариантом импорта через терминал (иногда используется термин «через консоль»).
Разберем процесс по шагам применительно к хостингу Бегет и CMS WordPress.
Шаг 1. Как обычно, перед важными изменениями на сайте, следует сделать полный бэкап. На Бегете есть возможность создать вечный backap — одна копия всегда бесплатно. BackUp — Backup по требованию. Добавляем комментарий и жмём кнопку «Создать вечный backap».
После создания бэкапа, можно продолжать работу со спокойной совестью.
Шаг 2. Загружаем архив с файлом базы данных в корневой каталог аккаунта и распаковываем его.
Шаг 3. Создаем доступ по FTP к корню аккаунта и включаем протокол SSH.
Справка из Википедии:
SSH (англ. Secure Shell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.
SSH позволяет безопасно передавать в незащищённой среде практически любой другой сетевой протокол. Таким образом, можно не только удалённо работать на компьютере через командную оболочку, но и передавать по шифрованному каналу звуковой поток или видео.
Шаг 4. Для того чтобы подключиться к серверу, нужно знать его IP или доменное имя. Эти данные хостер высылает при регистрации, но они могут измениться, поэтому лучше перепроверить. Узнать IP можно при помощи сервиса https://2ip.ru/lookup/
Шаг 5. Теперь нужен клиент, который позволяет подключаться по протоколу SSH. Рекомендую PuTTY (Пати), скачать можно здесь.
Ранее я устанавливал бесплатную панель Vesta на VDS и использовал PyTTY без инсталляции на компьютер, т.е. просто запускал файл putty.exe. Однако в этот раз на этапе ввода пароля постоянно выскакивала фатальная ошибка Server Unexpectedly closed network connection.
В службе поддержки Бегет посоветовали увеличить в настройках PyTTY значение Seconds between keepalives до 30, но в моём случае трюк не прошёл. Я быстро смекнул, что следует попробовать установить программу на компьютер. После инсталляции, подключение прошло без проблем.
Шаг 6. Дальнейшие действия можно выполнять согласно официальной инструкции Бегет. Напомню, что на втором шаге был загружен в корень аккаунта и распакован архив с базой данных.
Теперь остаётся импортировать файл в существующую БД. Данные для доступа к которой, можно взять из файла config.php — расположен в корневом каталоге конкретно взятого сайта.
mysql -u’пользователь’ имя_БД -p’пароль’ < название_архива.sql
Если после выполнения команды не появилось строки со словом ERROR (ошибка), то импорт прошел успешно. Как я успел заметить, ошибка может выскочить из-за лишнего пробела.
В конкретном случае, я импортировал данные в пустую базу данных. Зайдя в раздел Управление базами данных MySQL, можно убедиться, что размер БД увеличился с нуля до 380 Мб.
Замечу, что процесс прошёл очень быстро. При работе с phpMyAdmin о такой оперативности можно только мечтать.
Шаг 7. Поскольку не следует забывать о безопасности, удаляем FTP-аккаунт — создать новый можно при необходимости.
Резюме
Если предстоит импорт больших баз данных — используйте терминал. Процесс проходит быстро и без лишних ошибок.
Оставьте первый комментарий