Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Managed Service for MySQL®
  • Начало работы
    • Все руководства
    • Анализ производительности и оптимизация Managed Service for MySQL®
    • Выгрузка базы данных в Yandex Data Processing
    • Миграция базы данных из Managed Service for MySQL® в MySQL®
    • Поставка данных из Yandex Managed Service for Apache Kafka® с помощью Yandex Data Transfer
    • Поставка данных в Yandex Managed Service for Apache Kafka® с помощью Yandex Data Transfer
    • Поставка данных в Yandex Managed Service for Apache Kafka® с помощью Debezium
    • Миграция базы данных в Yandex Managed Service for YDB с помощью Yandex Data Transfer
    • Миграция базы данных из Managed Service for MySQL® в Yandex Object Storage
    • Перенос данных из Yandex Object Storage в Managed Service for MySQL®
    • Захват изменений MySQL® и поставка в YDS
    • Миграция данных из Yandex Managed Service for PostgreSQL в Managed Service for MySQL® с помощью Yandex Data Transfer
    • Миграция данных из Managed Service for MySQL® в Yandex Managed Service for PostgreSQL с помощью Yandex Data Transfer
    • Миграция данных из Managed Service for MySQL® в Yandex MPP Analytics for PostgreSQL с помощью Yandex Data Transfer
    • Синхронизация данных из стороннего кластера MySQL® в Yandex Managed Service for MySQL® с помощью Yandex Data Transfer
    • Миграция базы данных из MySQL® в ClickHouse® с помощью Yandex Data Transfer
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Обучающие курсы

В этой статье:

  • Необходимые платные ресурсы
  • Перед началом работы
  • Подготовьте тестовые данные
  • Подготовьте и активируйте трансфер
  • Проверьте работоспособность трансфера
  • Проверьте работу копирования
  • Проверьте работу репликации
  • Удалите созданные ресурсы
  1. Практические руководства
  2. Миграция данных из Managed Service for MySQL® в Yandex Managed Service for PostgreSQL с помощью Yandex Data Transfer

Миграция данных из Managed Service for MySQL® в Yandex Managed Service for PostgreSQL с помощью Yandex Data Transfer

Статья создана
Yandex Cloud
Обновлена 15 декабря 2025 г.
  • Необходимые платные ресурсы
  • Перед началом работы
  • Подготовьте тестовые данные
  • Подготовьте и активируйте трансфер
  • Проверьте работоспособность трансфера
    • Проверьте работу копирования
    • Проверьте работу репликации
  • Удалите созданные ресурсы

Примечание

В регионе Казахстан доступна только зона доступности kz1-a.

Вы можете настроить перенос данных из базы Managed Service for MySQL® в базу Managed Service for PostgreSQL с помощью сервиса Data Transfer. Для этого:

  1. Подготовьте тестовые данные.
  2. Подготовьте и активируйте трансфер.
  3. Проверьте работоспособность трансфера.

Если созданные ресурсы вам больше не нужны, удалите их.

Необходимые платные ресурсыНеобходимые платные ресурсы

  • Кластер Managed Service for PostgreSQL: выделенные хостам вычислительные ресурсы, объем хранилища и резервных копий (см. тарифы Managed Service for PostgreSQL).
  • Кластер Managed Service for MySQL®: выделенные хостам вычислительные ресурсы, объем хранилища и резервных копий (см. тарифы Managed Service for MySQL®).
  • Публичные IP-адреса, если для хостов кластеров включен публичный доступ (см. тарифы Virtual Private Cloud).

Перед началом работыПеред началом работы

Подготовьте инфраструктуру:

Вручную
Terraform
  1. Создайте кластер-источник Managed Service for MySQL® в любой зоне доступности, с хостами любой подходящей конфигурации в публичном доступе, и следующими настройками:

    • Имя БД — mmy_db.
    • Имя пользователя — mmy_user.
    • Пароль — <пароль_источника>.
  2. Выдайте административные привилегии REPLICATION CLIENT и REPLICATION SLAVE пользователю mmy_user.

    Подробнее об административных привилегиях см. в описании настроек.

  3. В той же зоне доступности создайте кластер-приемник Managed Service for PostgreSQL любой подходящей конфигурации с хостами в публичном доступе и следующими настройками:

    • Имя БД — mpg_db.
    • Имя пользователя — mpg_user.
    • Пароль — <пароль_приемника>.
  4. Убедитесь, что группы безопасности кластеров настроены правильно и допускают подключение к ним:

    • Managed Service for MySQL®.
    • Managed Service for PostgreSQL.
  1. Если у вас еще нет Terraform, установите его.

  2. Получите данные для аутентификации. Вы можете добавить их в переменные окружения или указать далее в файле с настройками провайдера.

  3. Настройте и инициализируйте провайдер. Чтобы не создавать конфигурационный файл с настройками провайдера вручную, скачайте его.

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

  5. Скачайте в ту же рабочую директорию файл конфигурации mysql-postgresql.tf.

    В этом файле описаны:

    • сети и подсети для размещения кластеров;
    • группы безопасности для подключения к кластерам;
    • кластер-источник Managed Service for MySQL®;
    • кластер-приемник Managed Service for PostgreSQL;
    • эндпоинты для источника и приемника;
    • трансфер.
  6. Укажите в файле mysql-postgresql.tf:

    • Версии MySQL® и PostgreSQL.
    • Пароли пользователей MySQL® и PostgreSQL.
  7. Проверьте корректность файлов конфигурации Terraform с помощью команды:

    terraform validate
    

    Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  8. Создайте необходимую инфраструктуру:

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    В указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления.

Подготовьте тестовые данныеПодготовьте тестовые данные

  1. Подключитесь к базе данных в кластере-источнике Managed Service for MySQL®.

  2. Наполните базу тестовыми данными. В качестве примера используется простая таблица, содержащая информацию, поступающую от некоторых датчиков автомобиля.

    Создайте таблицу:

    CREATE TABLE measurements (
        device_id varchar(200) NOT NULL,
        datetime timestamp NOT NULL,
        latitude real NOT NULL,
        longitude real NOT NULL,
        altitude real NOT NULL,
        speed real NOT NULL,
        battery_voltage real,
        cabin_temperature real NOT NULL,
        fuel_level real,
        PRIMARY KEY (device_id)
    );
    

    Наполните таблицу данными:

    INSERT INTO measurements VALUES
    ('iv9a94th6rzt********', '2022-06-05 17:27:00', 55.70329032, 37.65472196,  427.5,    0, 23.5, 17, NULL),
    ('rhibbh3y08qm********', '2022-06-06 09:49:54', 55.71294467, 37.66542005, 429.13, 55.5, NULL, 18, 32);
    

Подготовьте и активируйте трансферПодготовьте и активируйте трансфер

Вручную
Terraform
  1. Создайте эндпоинт-источник типа MySQL® и укажите в нем параметры подключения к кластеру:

    • Тип подключения — Кластер Managed Service for MySQL.
    • Кластер Managed Service for MySQL — <имя_кластера_источника_MySQL®> из выпадающего списка.
    • База данных — mmy_db.
    • Пользователь — mmy_user.
    • Пароль — <пароль_пользователя>.
  2. Создайте эндпоинт-приемник типа PostgreSQL и укажите в нем параметры подключения к кластеру:

    • Тип инсталляции — Кластер Managed Service for PostgreSQL.
    • Кластер Managed Service for PostgreSQL — <имя_кластера_приемника_PostgreSQL> из выпадающего списка.
    • База данных — mpg_db.
    • Пользователь — mpg_user.
    • Пароль — <пароль_пользователя>.
  3. Создайте трансфер типа Копирование и репликация, использующий созданные эндпоинты.

  4. Активируйте трансфер и дождитесь его перехода в статус Реплицируется.

  1. Укажите в файле mysql-postgresql.tf значение 1 для параметра transfer_enabled.

  2. Проверьте корректность файлов конфигурации Terraform с помощью команды:

    terraform validate
    

    Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  3. Создайте необходимую инфраструктуру:

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

  4. Трансфер активируется автоматически. Дождитесь его перехода в статус Реплицируется.

Проверьте работоспособность трансфераПроверьте работоспособность трансфера

Чтобы убедиться в работоспособности трансфера, проверьте работу копирования и репликации.

Проверьте работу копированияПроверьте работу копирования

  1. Подключитесь к базе данных в кластере-приемнике Managed Service for PostgreSQL.

  2. Выполните запрос:

    SELECT * FROM mmy_db.measurements;
    

Проверьте работу репликацииПроверьте работу репликации

  1. Подключитесь к базе данных в кластере-источнике Managed Service for MySQL®.

  2. Добавьте данные в таблицу measurements:

    INSERT INTO measurements VALUES
    ('iv7b74th678t********', '2020-06-08 17:45:00', 53.70987913, 36.62549834, 378.0, 20.5, 5.3, 20, NULL);
    
  3. Убедитесь, что добавленная строка появилась в базе данных приемника:

    1. Подключитесь к базе данных в кластере-приемнике Managed Service for PostgreSQL.

    2. Выполните запрос:

      SELECT * FROM mmy_db.measurements;
      

Удалите созданные ресурсыУдалите созданные ресурсы

Примечание

Перед тем как удалить созданные ресурсы, деактивируйте трансфер.

Чтобы снизить потребление ресурсов, которые вам не нужны, удалите их:

Вручную
Terraform
  1. Удалите трансфер.
  2. Удалите эндпоинты.
  3. Удалите кластер Managed Service for MySQL®.
  4. Удалите кластер Managed Service for PostgreSQL.
  1. В терминале перейдите в директорию с планом инфраструктуры.

    Важно

    Убедитесь, что в директории нет Terraform-манифестов с ресурсами, которые вы хотите сохранить. Terraform удаляет все ресурсы, которые были созданы с помощью манифестов в текущей директории.

  2. Удалите ресурсы:

    1. Выполните команду:

      terraform destroy
      
    2. Подтвердите удаление ресурсов и дождитесь завершения операции.

    Все ресурсы, которые были описаны в Terraform-манифестах, будут удалены.

Была ли статья полезна?

Предыдущая
Миграция данных из Yandex Managed Service for PostgreSQL в Managed Service for MySQL® с помощью Yandex Data Transfer
Следующая
Миграция данных из Managed Service for MySQL® в Yandex MPP Analytics for PostgreSQL с помощью Yandex Data Transfer
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»