Перенос базы данных

Эта инструкция поможет перенести старую базу из раздела «Базы данных» в «Управляемые базы данных». Перенос выполняется через строку подключения: новая база сама загружает данные со старого хоста.

1. Остановите запись в старую базу

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

Сохраните текущие настройки подключения плагинов. Старую базу пока не удаляйте.

2. Скопируйте строку подключения

В панели управления откройте сервер → Базы данных и сведения о старой базе. Скопируйте поле Строка подключения JDBC.

Удалите в начале строки только jdbc:. Например:

jdbc:mysql://user:password@db.example.com:3306/old_database

превращается в:

mysql://user:password@db.example.com:3306/old_database

Сохраните остальную часть строки без изменений, включая тип базы, порт и имя базы после /. Если пароль содержит последовательности вроде %40, не заменяйте их обычными символами.

Внимание

В строке подключения есть пароль. Не публикуйте её и не вставляйте в скриншоты.

3. Создайте новую базу

  1. Перейдите во вкладку Базы данных и создайте экземпляр. Выберите шаблон того же типа, что и старая база. Этот импорт не преобразует MySQL в PostgreSQL или другой тип базы.
  2. Запустите экземляр БД и загрузки и нажмите на него.
  3. На вкладке Базы данных в управлении экземляром нажмите Создать. Укажите имя из латинских букв и цифр, от 2 до 23 символов. Оно может отличаться от старого.
  4. Оставьте включённым Создать пользователя для этой базы данных и сохраните показанные данные подключения. Пароль нового пользователя показывается однократно.

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

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

4. Импортируйте данные

В меню новой базы выберите Импорт с удалённого сервера.

Поле Что указать
Строка подключения Строку старой базы из шага 2, без jdbc:
Исходная база данных Оставьте пустым, если правильное имя старой базы уже указано в строке после /. Иначе укажите старое имя здесь
Удалить существующие данные перед импортом Для новой пустой базы оставьте выключенным

Нажмите Импорт и дождитесь завершения операции в панели. Сообщение «Удалённый импорт начат» означает только запуск, а не успешное завершение.

Внимание

Опция «Удалить существующие данные перед импортом» удаляет данные в выбранной новой базе. Не включайте её, если там есть нужные данные без резервной копии.

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

5. Обновите настройки плагинов

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

  • адрес хоста и порт;
  • имя базы данных;
  • имя пользователя и пароль.

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

Запустите сервер. Проверьте логи на ошибки подключения и убедитесь, что плагины видят прежние данные и сохраняют новые. Например, проверьте баланс или права тестового игрока, если переносили базу соответствующего плагина.

Старую базу удаляйте только после проверки всех приложений, которые её использовали. Повторите перенос для остальных баз отдельно.

Если что-то не получилось

  • Не удаётся подключиться к старой базе. Проверьте строку, пароль, хост и порт. Старый хост должен принимать подключение с нового сервера баз данных. Если доступ ограничен, обратитесь в поддержку.
  • Импорт сообщает о существующих таблицах. Используйте пустую базу. После неудачного импорта перед повтором можно очистить целевую базу, только если в ней нет нужных данных.
  • Плагин не подключается после переноса. Проверьте все пять параметров подключения и доступ нового пользователя к новой базе на вкладке «Пользователи».

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