Перенос MySQL на другой VPS — это не только копирование файла дампа. Нужно сверить версии и параметры движка, получить согласованную копию, восстановить пользователей и права, проверить кодировки и убедиться, что приложение читает и записывает данные на целевом сервере. Если заранее провести тестовый импорт, окно переключения обычно можно сократить до финального экспорта и проверки подключения.
Содержание
- Инвентаризируйте базу и её пользователей
- Проверьте совместимость версий и параметры
- Снимите дамп с учётом активности сайта
- Восстановите данные, права и дополнительные объекты
- Проведите переключение с короткой паузой записи
- Выберите VPS под базу и приложение
- Как провести репетицию переноса базы без риска для действующего сайта
Инвентаризируйте базу и её пользователей
Начните с перечня баз, таблиц, объёма данных, движков хранения, кодировок, представлений, триггеров и процедур. Узнайте, кто подключается к базе: сайт, фоновые задачи, аналитика, админ-панель или отдельный сервис. В конфигурации приложения могут быть несколько наборов реквизитов для production, очередей и тестовых задач — перенос только основного подключения не охватит все записи.
Секреты подключения не включайте в рабочую таблицу, которую передают нескольким людям. Достаточно указать имя сервиса, владельца и место, где безопасно обновить значение. Проверьте список IP с доступом к MySQL и правила firewall на целевой площадке, но не открывайте порт базе всему интернету. Для приложения заранее подготовьте ограниченную учётную запись с теми правами, которые нужны конкретной схеме.
- Запишите размер каждой базы и таблиц.
- Отметьте таблицы InnoDB и любые нетранзакционные таблицы.
- Найдите все приложения и задания, которые пишут в базу.
- Сверьте кодировку, collation и sql_mode.
Провайдеры VPS/VDS для сравнения
При переносе MySQL дамп может импортироваться, а приложение после переключения — не подключиться из-за прав пользователя, кодировки или версии сервера; несогласованная финальная копия также грозит потерей новых записей. Мы советуем сравнить VPS до переезда, чтобы успеть проверить импорт и восстановление. В таблице — кандидаты; проверьте место, дисковую нагрузку и резервное копирование.
| Место | Провайдер |
|---|---|
| 1 | Timeweb |
| 2 | Selectel |
| 3 | EdgeCenter |
| 4 | VDSina |
| 5 | SpaceWeb |
| 6 | AdminVPS |
| 7 | Sprintbox |
| 8 | Hostland |
| 9 | HandyHost |
| 10 | FirstVDS |
Для подробного разбора провайдеров и условий смотрите общий рейтинг VPS/VDS. Перед заказом сверяйте характеристики и ограничения тарифа на сайте провайдера.
Проверьте совместимость версий и параметры
Уточните точные версии MySQL или MariaDB на источнике и целевом VPS. Название семейства не гарантирует полную совместимость: различаются значения по умолчанию, доступные функции, кодировки и поведение SQL-режимов. Сверьте release notes и проверьте схему на отдельной тестовой базе. Если приложение работает на старой библиотеке клиента, подключение к новому серверу может не установиться даже после успешного импорта.
Сравните charset базы и соединения: неверный набор символов проявляется не только нечитаемыми буквами, но и тихой заменой данных. Проверьте часовую зону сервера и приложения, поддержку временных таблиц и ограничений. Цель этой проверки — обнаружить несовместимость до переключения, а не менять параметры производства наугад. Тестовый сервер удобнее пересоздать после эксперимента, чем пытаться восстановить частично изменённую рабочую базу.
- Проверьте версию клиента и сервера отдельно.
- Сделайте тестовую загрузку репрезентативной части данных.
- Сверьте кодировки выборочными запросами по русскому тексту.
- Проверьте запросы, процедуры и триггеры приложения.
Снимите дамп с учётом активности сайта
MySQL описывает `mysqldump` как логический экспорт, который можно загрузить на другой сервер. Для таблиц InnoDB часто применяют `—single-transaction`, чтобы получить согласованный снимок без долгой блокировки чтения; однако гарантии этого подхода зависят от движков таблиц и DDL-операций во время копирования. Если есть таблицы MyISAM или параллельные изменения структуры, нужен отдельный план остановки записи или иной способ согласованного снимка.
Сначала проведите полный экспорт и импорт на тестовой площадке, измерьте длительность и проверьте код завершения команды. Храните вывод ошибок отдельно и сверяйте файл дампа контрольной суммой после копирования. Перед финальной фазой остановите записи или включите короткое окно обслуживания, снимите последнюю согласованную копию и не позволяйте старому и новому экземплярам принимать независимые изменения одновременно.
- Запишите команду и параметры экспорта без паролей.
- Проверьте exit code и stderr, а не только наличие файла.
- Сверьте хеш дампа после передачи между серверами.
- Не запускайте два параллельных экспорта на перегруженном источнике без оценки влияния.
Восстановите данные, права и дополнительные объекты
Импортируйте дамп в новую базу с правильным именем и заранее подготовленными пользователями. Логический экспорт схемы и данных сам по себе не всегда переносит системные учётные записи и все серверные настройки, поэтому пользователей, grants и параметры сервера проверяют отдельно. Сравните количество таблиц, представлений и триггеров, затем выполните выборочные запросы по ключевым таблицам и датам.
Для магазина или сервиса заказов смотрите не только суммарное число строк. Сопоставьте количество объектов по статусам, последние идентификаторы, суммы за контрольный период и связанные записи. Для разреженных таблиц полезно проверить случайные значения по первичной базе. После импорта проверьте автоинкремент и ограничения целостности. Если разница обнаружена, выясните, относится ли она к ожидаемым фоновой очистке или к пропущенным изменениям.
- Перенесите пользователей и минимально необходимые права.
- Сверьте число таблиц и схему базы.
- Сопоставьте контрольные агрегаты и последние записи.
- Проверьте кодировки, часовые зоны и последовательности ID.
Проведите переключение с короткой паузой записи
Уточните, когда приложение прекращает отправлять новые запросы к старой базе. Простая смена адреса в одном конфигурационном файле не остановит уже запущенные процессы, cron-задачи и очереди. Приостановите все источники записи, дождитесь завершения транзакций, снимите финальный экспорт или перенесите дельту, затем обновите подключения и запустите приложение на целевой базе. Для фоновых работников проверьте конфигурацию отдельно.
После переключения выполните контролируемые сценарии: создать тестовую запись, прочитать её из приложения, проверить журнал ошибок и убедиться, что фоновые задачи не пишут в старый адрес. Не используйте реальные платежи и массовые письма для smoke-теста. Сохраните старую базу в режиме без записи на согласованный срок. Если нужно вернуться, продумайте обратный перенос изменений, появившихся после cutover, иначе смена адреса назад восстановит только доступ, но не данные.
- Заморозьте запись во всех сервисах, а не только на сайте.
- Обновите конфигурацию и секреты через штатный механизм.
- Проверьте чтение, запись, очереди и журналы.
- Не удаляйте исходную базу после первого успешного запроса.
Выберите VPS под базу и приложение
Для базы данных важны не только число vCPU и RAM. Смотрите доступное место, тип диска, устойчивость задержек записи, возможность отделить базу от веб-процесса, ограничения трафика и способ сделать внешнюю резервную копию. Учитывайте рост данных, временный двойной объём во время переноса и место для журнала и дампа. Для тарифа аренды VPS заранее проверьте, можно ли увеличить диск без полной переустановки и каков порядок восстановления после повреждения.
Ниже — тот же порядок VPS/VDS-провайдеров, что в <a href="https://impossible-studio.com/vps-vds/vps-vds-dlya-proekta-s-vebhukami-kak-ne-teryat-vhodyashhie-sобытия-и-obrabatyvat-ih-bez-zaderzhek/">обзоре VPS/VDS для проекта с вебхуками</a>. Используйте его как перечень площадок для сравнения условий именно под вашу базу: доступ к резервным копиям, расположение, лимиты диска и поддержка. Не делайте вывод о скорости или надёжности конкретного тарифа без проверки его параметров и подходящего теста.
- Оставьте место для дампа и промежуточной копии.
- Сверьте условия по snapshot и выгрузке за пределы аккаунта.
- Проверьте ограничения по IOPS или пропускной способности, если они указаны.
- Оцените стоимость полного цикла: сервер, копии и администрирование.
Как провести репетицию переноса базы без риска для действующего сайта
Проведите первый импорт в отдельную пустую базу на целевом VPS. Убедитесь, что кодировка, collation, SQL mode, версии MySQL и доступы приложения совпадают с ожиданиями. Выполните контрольные запросы по числу таблиц и строк для важных сущностей, затем откройте сайт в тестовом режиме. Если дамп содержит персональные данные, ограничьте доступ к тестовой копии, удалите её после репетиции и не включайте реальные данные в открытые журналы.
Зафиксируйте длительность каждого этапа: экспорт, передача, импорт, проверка и финальная синхронизация. На больших базах скорость зависит от диска, сети и индексов; перенос на пустую реплику может идти иначе, чем на рабочий сервер под нагрузкой. Для финального окна заранее решите, как остановить записи приложения и как подтвердить, что после последнего дампа не появились новые заказы или изменения. Не удаляйте исходную базу до завершения периода возврата.
- Репетируйте импорт в отдельную базу.
- Сверьте кодировку, версии и ключевые таблицы.
- Замерьте этапы и выберите длину окна переключения.
- Опишите остановку записей и правила возврата.
Частые вопросы
Можно ли переносить MySQL без остановки сайта?
Иногда можно предварительно скопировать данные и затем перенести короткую финальную дельту, но схема зависит от движков таблиц, нагрузки и приложения. Нужен тест и определённый момент остановки записи.
Достаточно ли файла SQL-дампа?
Нет. Отдельно проверьте пользователей, права, серверные параметры, кодировки и объекты базы. После загрузки сравните данные и работу приложения.
Стоит ли переносить MySQL и сайт одновременно?
Если система позволяет разнести этапы и проверить каждый по отдельности, риск проще локализовать. При тесно связанных настройках заранее отрепетируйте полный сценарий на тестовом VPS.
Документация и полезные источники
Материал проверен 12 ноября 2026 года. Условия провайдеров, версии программ и DNS-настройки могут меняться — сверяйте актуальные данные перед выполнением переноса.