Перенос баз данных с помощью Sypex Dumper Печать

  • mariadb, mysql, sypexdumper, fpt
  • 0

Наша задача быстро и безопасно перенести MySQL/MariaDB между хостингами, когда доступов «как обычно» нет. Sypex Dumper (SXD) — лёгкий PHP-инструмент, который запускается из браузера, делает резервную копию (dump) большой БД частями и восстанавливает её на новом сервере. Нам понадобится:

Доступ к сайту по FTP/SFTP (или файловый менеджер хостинга) — чтобы загрузить SXD.
Данные подключения к БД: host, port, dbname, user, password. Их можно найти в файлах сайта:
WordPress: wp-config.php (константы DB_NAME, DB_USER, DB_PASSWORD, DB_HOST).
Bitrix: bitrix/.settings.php.
OpenCart: config.php и admin/config.php.
Свободное место на диске ≈ размер БД × 1.5 (под архив и временные файлы).
HTTPS-доступ к сайту (желательно), чтобы логин/пароль к БД не передавались «голыми».

1) Установка Sypex Dumper на исходном сервере 

Вариант A — есть только FTP/файловый менеджер


1. Скачайте архив Sypex Dumper 2 на свой компьютер, распакуйте.
2. Загрузите папку sxd/ в корень сайта (public_html/www), лучше переименуйте в что-то уникальное, напр.: sxd_9r3m/.
3. Права на файлы/папки (если Linux-хостинг):
каталогу backup/ — 0777;
файлам cfg.php и ses.php — 0666.
Если интерфейс хостинга не даёт поставить 0777 — ставьте 0755/0644, чаще этого хватает.

Вариант B — есть SSH (быстрее)

cd /var/www/html # ваш корень сайта
unzip sxd.zip -d ./ # распакуйте заранее загруженный архив
mv sxd sxd_9r3m # рандомное имя папки
chmod 0777 sxd_9r3m/backup
chmod 0666 sxd_9r3m/cfg.php sxd_9r3m/ses.php

Усиливаем безопасность на время работ
Папку sxd_… называем уникально.
По возможности включаем HTTP Basic Auth (пароль на директорию).
Не оставляем SXD на сервере после миграции — удаляем.

 

2) Делаем дамп на исходном сервере


1. Откройте в браузере: https://ваш-домен/sxd_9r3m/
2. Укажите подключение к БД: host (например, localhost), user, pass, db.
3. Перейдите во вкладку «Резервное копирование» (Backup) и выставьте:
Формат: gzip (.sql.gz) — быстрее качать, меньше место;
Стратегия: «структура+данные», галочку DROP TABLE (удобно при восстановлении);
Шаг выполнения: 3–7 секунд (SXD будет работать «порциями», обходя таймауты PHP);
Кодировка соединения: utf8mb4.
4. Нажмите «Старт». Скрипт побежит в несколько этапов, в конце появится файл дампа в sxd_…/backup/ вида:

<dbname>_YYYYMMDD_HHMM.sql.gz


5. Скачайте файл дампа на компьютер (или оставьте на сервере, если будете переносить «по месту»).

Подсказка: если БД большая, SXD сам «дойдет» до конца — не закрывайте вкладку, пока не увидите успешный статус.

3) Восстановление на целевом сервере (куда переносим)

Готовим SXD на новом хостинге

Сделайте те же шаги установки на новом сервере: загрузите папку SXD (с уникальным именем), выставьте права, откройте https://новый-домен/sxd_9r3m/.

Два способа восстановить

Способ 1 — через интерфейс SXD (проще):


1. Зайдите в …/sxd_9r3m/, укажите параметры новой БД (часто это другие host/db/user/pass).
2. Вкладка «Восстановление» → загрузите ранее скачанный *.sql.gz или поместите файл в папку backup/ и выберите его из списка.
3. Поставьте галочку DROP (если в БД уже есть таблицы), кодировка utf8mb4.
4. Нажмите «Старт», дождитесь завершения.

Способ 2 — файлом по месту (если дамп уже на сервере):


Закиньте *.sql.gz в sxd_9r3m/backup/ по FTP/SSH, в SXD выберите его и восстановите.

Важно: Сразу после успешного восстановления удалите папку sxd_… целиком.


4) Проверки после переноса


Сайт открывается, логин в админку работает.
Если менялся домен — проверьте URLs и базовые настройки CMS (адрес сайта, пути).
Кодировки: русские буквы отображаются корректно; при проблемах в SXD при восстановлении включите SET NAMES utf8mb4.
Если переезжали между MySQL 5.7 → 8.0 (или обратно) и используете процедуры/триггеры — проверьте их работу.

 

5) Частые ошибки и быстрые решения

Access denied / нет подключения.
Проверьте фактические логин/пароль/хост из конфигов CMS. На shared-хостингах DB_HOST бывает не localhost, а, например, mysql-7.local.

«Unknown collation …» при восстановлении.
Меняли версии СУБД. Включите в SXD «Принудительно SET NAMES utf8mb4» и пересоберите дамп без экзотических колляций. В крайнем случае замените колляцию в дампе:

# пример: меняем *_unicode_520_ci на utf8mb4_unicode_ci
gzip -dc app.sql.gz | sed 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' | gzip > app_fixed.sql.gz

DEFINER у процедур/триггеров «ломает» импорт.
Очистите DEFINER в дампе:

gzip -dc app.sql.gz | sed -E 's/DEFINER=`[^`]+`@`[^`]+`//g' | gzip > app_nodef.sql.gz

Packet too large / max_allowed_packet.
На целевом сервере временно увеличьте лимит:

SET GLOBAL max_allowed_packet=134217728; -- 128M

и повторите восстановление.

Таймауты PHP.
Увеличьте max_execution_time в .user.ini/php.ini (например, до 120–300 сек) или уменьшите «Шаг выполнения» в SXD до 2–3 сек — он дойдёт до конца в несколько проходов.


Если нет времени разбираться: HSTQ бесплатно выполнит перенос MySQL/MariaDB с помощью Sypex Dumper при заказе VPS/Dedicated — достанем доступы, сделаем дамп, устраним несовместимости (колляции, DEFINER, max_allowed_packet), восстановим на новом сервере и проверим проект чек-листом. Дополнительно настроим бэкапы по расписанию и мониторинг отказов базы.


Помог ли вам данный ответ?

Связанные статьи

Какие есть боты/сервисы, которые стоит добавить в исключения? Практический гайд для защиты сайта и бизнеса В современных условиях кибербезопасности настройка блокировок и фильтров — обязательная мера для... Что делать, если сертификаты Let’s Encrypt не обновляются? Простое решение за 5 минут Сертификаты от Let’s Encrypt стали стандартом для бесплатной автоматической защиты сайтов по... Какие сервисы и решения реально помогают? Топ-10 инструментов Почему взламывают сайты и что самое опасное? Современный сайт на WordPress, Битрикс, Joomla,... Как блокировать накрутку ПФ. Реальные методы защиты сайта Как блокировать накрутку ПФ, если Cloudflare недоступен?  В 2024–2025 году накрутка... Лучшие версии PHP и MySQL сейчас для WordPress: что выбрать для максимальной стабильности и скорости? WordPress — самая популярная CMS в мире, и именно поэтому вопрос о правильной версии PHP и...
« Назад

Powered by WHMCompleteSolution


База знаний