Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for MySQL®
  • Начало работы
    • Все руководства
    • Анализ производительности и оптимизация Managed Service for MySQL®
    • Выгрузка базы данных в Yandex Data Processing
    • Миграция базы данных из стороннего кластера MySQL®
    • Миграция базы данных из 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
    • Сайт на WordPress с БД MySQL®
    • Миграция базы данных в 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 Managed Service for Greenplum® с помощью Yandex Data Transfer
    • Синхронизация данных из стороннего кластера MySQL® в Yandex Managed Service for MySQL® с помощью Yandex Data Transfer
    • Миграция базы данных из MySQL® в ClickHouse® с помощью Yandex Data Transfer
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Обучающие курсы

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

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

Синхронизация данных из стороннего кластера MySQL® в Yandex Managed Service for MySQL® с помощью Yandex Data Transfer

Статья создана
Yandex Cloud
Обновлена 17 марта 2025 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Создайте ВМ с интернет-магазином
  • Создайте стейджинговое хранилище
  • Настройте параметры трансфера
  • Проследите за переносом изменений в Yandex Cloud
  • Как удалить созданные ресурсы

Из описания сценария вы узнаете, как обеспечить периодическую доставку изменений из внешней базы данных в облако при помощи Data Transfer. Для синхронизации данных в вашем облаке нужно создать промежуточное стейджинговое хранилище данных — Managed Service for MySQL®, в которое будут реплицироваться таблицы. Данные синхронизируются практически в режиме реального времени.

Чтобы настроить передачу изменений:

  1. Подготовьте облако к работе.
  2. Создайте ВМ с интернет-магазином.
  3. Создайте стейджинговое хранилище.
  4. Настройте параметры трансфера.
  5. Проследите за переносом изменений в БД в облаке.

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

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

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

Подробнее об облаках и каталогах.

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

В стоимость поддержки инфраструктуры передачи данных входит:

  • Плата за постоянно запущенную виртуальную машину (см. тарифы Yandex Compute Cloud).
  • Плата за использование динамического или статического внешнего IP-адреса (см. тарифы Yandex Virtual Private Cloud).
  • Плата за постоянно запущенный кластер Managed Service for MySQL® (см. тарифы Managed Service for MySQL®).
  • Плата за сервис Data Transfer (см. тарифы Data Transfer).

Создайте ВМ с интернет-магазиномСоздайте ВМ с интернет-магазином

  1. Создайте ВМ с интернет-магазином web-store-vm на базе MySQL:

    CLI

    Создайте диск с предварительно настроенным публичным образом виртуальной машины с интернет-магазином:

    yc compute disk create \
       --name web-store-lab-dataplatform \
       --source-image-id fd8lcf21vlpfdhb84m2s \
       --folder-id <your-yc-folder-id>
    

    Создайте виртуальную машину:

    yc compute instance create \
       --name magento \
       --zone ru-central1-d \
       --network-interface subnet-name=default-ru-central1-d,nat-ip-version=ipv4 \
       --hostname ya-sample-store \
       --use-boot-disk disk-name=web-store-lab-dataplatform \
       --ssh-key ~/.ssh/id_ed25519.pub
    
  2. В параметрах группы безопасности добавьте разрешение на входящий и исходящий трафик с 80 и 443 порта, а также с порта MySQL 3306.

  3. Подключитесь к ВМ по ssh:

    ssh yc-user@<публичный_IP-адрес_виртуальной_машины>
    
  4. От имени администратора откройте файл hosts (C:\Windows\System32\drivers\etc\hosts), добавьте строку:

    <ip-address-vm> ya-sample-store.local
    
  5. Подключитесь к интернет-магазину по адресу http://ya-sample-store.local/.

  6. Схему интернет-магазина можно посмотреть при помощи DBeaver.

Создайте стейджинговое хранилищеСоздайте стейджинговое хранилище

Для реплицирования таблиц с информацией о заказах интернет-магазина создайте кластер Managed Service for MySQL®:

  1. В консоли управления выберите каталог, в котором нужно создать кластер БД.

  2. Выберите сервис Managed Service for MySQL® и нажмите Создать кластер.

  3. Задайте имя кластера — ya-sample-cloud-mysql.

  4. Выберите класс хоста — s2.small.

  5. В блоке Размер хранилища:

    • Выберите тип хранилища — network-ssd.
    • Выберите объем — 32ГБ.
  6. В блоке База данных:

    • Укажите имя базы данных — magento-cloud.
    • Укажите имя пользователя — yc-user и пароль — 12345678.
  7. В блоке Сетевые настройки выберите облачную сеть для размещения кластера и группы безопасности для сетевого трафика кластера.

  8. В блоке Хосты выберите параметры хостов БД, создаваемых вместе с кластером:

    • Зона доступности — ru-central1-d.
    • Подсеть — default-ru-central1-d.
  9. Нажмите кнопку Создать кластер.
    Подробнее о создании кластера см. раздел Как начать работать с Managed Service for MySQL®.

Настройте параметры трансфераНастройте параметры трансфера

Чтобы синхронизировать информацию о заказах из БД MySQL интернет-сайта с промежуточным хранилищем данных, которое находится в облаке, настройте Data Transfer:

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

  2. Выберите сервис Data Transfer и нажмите Создать эндпоинт.

  3. Определите параметры источника данных — виртуальной машины интернет-магазина с запущенным на нем экземпляром MySQL:

    • Имя — magento-source.
    • Выберите из списка тип БД — MySQL.
    • IP хоста — <публичный_IP-адрес_виртуальной_машины>.
    • Имя базы данных — ya_sample_store.
    • Имя пользователя — magento-svc и пароль — m@gent0.
    • В белом списке укажите префиксы таблиц, которые подлежат репликации, например, sales_*.
    • Нажмите кнопку Создать.
  4. Определите параметры приемника данных — управляемой базы данных Managed Service for MySQL®, которая находится в облаке:

    • Имя — magento-report-dest.
    • База данных — Managed Service for MySQL.
    • Выберите из списка идентификатор кластера — ya-sample-cloud-mysql.
    • Имя базы данных — magento-cloud.
    • Имя пользователя репликации — yc-user и пароль — 12345678.
    • В строке Отключение проверки констрейнтов поставьте галочку.
      В данном случае, если произойдет нарушение порядка передачи данных, не будут выдаваться сообщения об ошибках.
    • Нажмите кнопку Создать.
  5. Выберите в меню раздел Трансферы и нажмите кнопку Создать трансфер.

  6. Определите параметры трансфера:

    • Имя — sales-order-sync.
    • В блоке Источник выберите эндпоинт magento-source.
    • В блоке Приемник выберите эндпоинт magento-report-dest.
    • В блоке Тип трансфера выберите — Копировать и реплицировать.
    • Нажмите кнопку Создать.
    • Нажмите на в строке с описанием трансфера и выберите Активировать.

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

  7. Проверьте, что схемы базы данных появились в стейджинговом хранилище:

    • Перейдите в раздел SQL стейджингового хранилища ya-sample-cloud-mysql.
    • Введите имя пользователя — yc-user и пароль — 12345678.
    • Выберите БД — magento-cloud.
    • Нажмите Подключиться.

    В окне появится схема БД интернет-магазина.

Проследите за переносом изменений в Yandex CloudПроследите за переносом изменений в Yandex Cloud

  1. Создайте заказ в интернет-магазине по адресу http://ya-sample-store.local/.
  2. Выполните запрос к БД в облаке:
    SELECT so.*, soi.* FROM sales_order_grid so
    INNER JOIN sales_order_item soi ON so.entity_id = soi.order_id
    ORDER BY entity_id DESC 
    LIMIT 10
    
  3. Убедитесь, что данные вашего заказа появились в БД.

Как удалить созданные ресурсыКак удалить созданные ресурсы

Удалите ресурсы, которые вы больше не будете использовать, чтобы за них не списывалась плата:

  • Удалите ВМ magento.
  • Удалите кластер ya-sample-cloud-mysql.
  • Если вы зарезервировали публичный статический IP-адрес, удалите его.

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

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