Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Практические руководства
  • Веб-сервис
  • Интернет-магазины
  • Хранение и восстановление данных
  • Для разработчиков
  • Тестовая среда
  • Управление инфраструктурой
  • Построение Data Platform
    • Все руководства
    • Миграция БД из стороннего кластера Apache Kafka® в Managed Service for Apache Kafka®
    • Перенос данных между кластерами Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Managed Service for YDB в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for Greenplum® с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for Elasticsearch с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for MongoDB с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for MySQL с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for OpenSearch с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for PostgreSQL с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for YDB с помощью Data Transfer
    • Поставка данных из Managed Service for Apache Kafka® в Data Streams с помощью Data Transfer
    • Настройка Kafka Connect для работы с кластером Managed Service for Apache Kafka®
    • Управление схемами данных в Managed Service for Apache Kafka®
    • Использование Managed Schema Registry с Managed Service for Apache Kafka®
    • Использование Confluent Schema Registry с Managed Service for Apache Kafka®
    • Поставка данных из Managed Service for MySQL в Managed Service for ClickHouse с помощью Data Transfer
    • Асинхронная репликация данных из PostgreSQL в ClickHouse
    • Обмен данными между Managed Service for ClickHouse и Data Proc
    • Настройка Managed Service for ClickHouse для Graphite
    • Получение данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse
    • Поставка данных из Managed Service for Apache Kafka® в Managed Service for ClickHouse с помощью Data Transfer
    • Получение данных из RabbitMQ в Managed Service for ClickHouse
    • Сохранение потока данных Data Streams в Managed Service for ClickHouse
    • Асинхронная репликация данных из Яндекс Метрика в ClickHouse с помощью Data Transfer
    • Использование гибридного хранилища в Managed Service for ClickHouse
    • Шардирование таблиц Managed Service for ClickHouse
    • Настройка Cloud DNS для доступа к кластерам управляемых баз данных из других облачных сетей
    • Настройка Cloud DNS для доступа к кластеру Managed Service for ClickHouse из других облачных сетей
    • Обмен данными между Managed Service for ClickHouse и Data Proc
    • Импорт данных из Managed Service for MySQL в Data Proc с помощью Sqoop
    • Импорт данных из Managed Service for PostgreSQL в Data Proc с помощью Sqoop
    • Использование скриптов инициализации для настройки GeeseFS в Data Proc
    • Миграция данных из стороннего кластера Elasticsearch в Managed Service for Elasticsearch с помощью Reindex API
    • Миграция коллекций из стороннего кластера MongoDB в Managed Service for MongoDB
    • Миграция данных в Managed Service for MongoDB
    • Шардирование коллекций MongoDB
    • Анализ производительности и оптимизация MongoDB
    • Миграция БД из стороннего кластера MySQL в кластер Managed Service for MySQL
    • Анализ производительности и оптимизация Managed Service for MySQL
    • Синхронизация данных из стороннего кластера MySQL в Managed Service for MySQL с помощью Data Transfer
    • Миграция БД из Managed Service for MySQL в сторонний кластер MySQL
    • Миграция БД из Managed Service for MySQL в Object Storage с помощью Data Transfer
    • Импорт данных из Managed Service for MySQL в Data Proc с помощью Sqoop
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for MySQL в Managed Service for Apache Kafka® с помощью Debezium
    • Миграция БД из Managed Service for MySQL в Managed Service for YDB с помощью Data Transfer
    • Захват изменений MySQL и поставка в YDS
    • Миграция данных из Elasticsearch в Managed Service for OpenSearch
    • Создание кластера PostgreSQL для «1С:Предприятия»
    • Анализ производительности и оптимизация Managed Service for PostgreSQL
    • Миграция БД из Managed Service for PostgreSQL
    • Миграция БД из стороннего кластера PostgreSQL в Managed Service for PostgreSQL
    • Асинхронная репликация данных из PostgreSQL в ClickHouse
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Data Transfer
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for Apache Kafka® с помощью Debezium
    • Импорт данных из Managed Service for PostgreSQL в Data Proc с помощью Sqoop
    • Поставка данных из Managed Service for PostgreSQL в Managed Service for YDB с помощью Data Transfer
    • Миграция БД из Managed Service for PostgreSQL в Object Storage
    • Захват изменений PostgreSQL и поставка в YDS
    • Миграция БД из Greenplum® в ClickHouse
    • Миграция БД из Greenplum® в PostgreSQL
    • Миграция БД из стороннего кластера Redis в Managed Service for Redis
    • Использование кластера Managed Service for Redis в качестве хранилища сессий PHP
  • Продукты Microsoft в Yandex Cloud
  • Сетевая инфраструктура
  • Визуализация и анализ данных
  • Интернет вещей
  • Бессерверные технологии
  1. Построение Data Platform
  2. Миграция БД из Managed Service for MySQL в Managed Service for YDB с помощью Data Transfer

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

Статья создана
Yandex Cloud
  • Подготовьте инфраструктуру
  • Подготовьте кластер-источник
  • Подготовьте и активируйте трансфер
  • Проверьте работоспособность трансфера
  • Удалите созданные ресурсы

С помощью сервиса Data Transfer вы можете перенести данные из кластера-источника Managed Service for MySQL в Managed Service for YDB.

Чтобы перенести данные:

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

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

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

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

  2. Создайте базу данных Managed Service for YDB любой подходящей конфигурации.

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

    Функциональность находится на стадии Preview.

  1. Если у вас еще нет Terraform, установите и настройте его.

  2. Скачайте файл с настройками провайдера. Поместите его в отдельную рабочую директорию и укажите значения параметров.

  3. Скачайте в ту же рабочую директорию файл конфигурации data-transfer-mmy-ydb.tf.

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

    • сеть;
    • подсеть;
    • группа безопасности и правило, необходимое для подключения к кластеру Managed Service for MySQL;
    • кластер-источник Managed Service for MySQL;
    • база данных Managed Service for YDB;
    • эндпоинт для источника;
    • трансфер.
  4. Укажите в файле data-transfer-mmy-ydb.tf:

    • параметры кластера-источника Managed Service for MySQL, которые будут использоваться как параметры эндпоинта-источника:

      • source_mysql_version — версия MySQL;
      • source_db_name — имя базы данных;
      • source_user и source_password — имя и пароль пользователя-владельца базы данных.
    • target_db_name — имя базы данных Managed Service for YDB.

  5. Выполните команду terraform init в директории с конфигурационным файлом. Эта команда инициализирует провайдер, указанный в конфигурационных файлах, и позволяет работать с ресурсами и источниками данных провайдера.

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

    terraform validate
    

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

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

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

      terraform plan
      

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

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

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

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

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

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

Подготовьте кластер-источник

  1. Если создавали инфраструктуру вручную, подготовьте кластер-источник.

  2. Подключитесь к кластеру-источнику Managed Service for MySQL.

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

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

    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
        ('iv9a94th6rztooxh5ur2', '2022-06-05 17:27:00', 55.70329032, 37.65472196,  427.5,    0, 23.5, 17, NULL),
        ('rhibbh3y08qmz3sdbrbu', '2022-06-06 09:49:54', 55.71294467, 37.66542005, 429.13, 55.5, NULL, 18, 32);
    

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

  1. Создайте эндпоинт для приемника:

    • Тип базы данных — YDB.

    • Параметры эндпоинта:

      • Настройки подключения → База данных — выберите базу данных Managed Service for YDB из списка.
      • ID сервисного аккаунта — выберите или создайте сервисный аккаунт с ролью ydb.editor.
  2. Создайте эндпоинт для источника и трансфер:

    Вручную
    С помощью Terraform
    1. Создайте эндпоинт для источника:

      • Тип базы данных — MySQL.

      • Параметры эндпоинта → Настройки подключения — Кластер Managed Service for MySQL.

        Выберите кластер-источник из списка и укажите настройки подключения к нему.

    2. Создайте трансфер типа Копирование и репликация, использующий созданные эндпоинты.

    3. Активируйте его.

    1. Раскомментируйте в файле data-transfer-mmy-ydb.tf:

      • переменную target_endpoint_id и задайте ей значение идентификатора эндпоинта для приемника, созданного на предыдущем шаге;
      • ресурсы yandex_datatransfer_endpoint и yandex_datatransfer_transfer.
    2. Проверьте корректность файлов конфигурации Terraform с помощью команды:

      terraform validate
      

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

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

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

        terraform plan
        

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

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

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

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

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

      Трансфер активируется автоматически после создания.

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

  1. Дождитесь перехода трансфера в статус Реплицируется.

  2. Убедитесь, что в базу данных Managed Service for YDB перенеслись данные из кластера-источника Managed Service for MySQL:

    Консоль управления
    CLI
    1. В консоли управления выберите каталог, в котором находится нужная база данных.
    2. В списке сервисов выберите Managed Service for YDB.
    3. Выберите базу из списка.
    4. Перейдите на вкладку Навигация.
    5. Проверьте, что база данных Managed Service for YDB содержит таблицу <имя базы данных кластера-источника>_measurements с тестовыми данными.
    1. Подключитесь к базе данных Managed Service for YDB.

    2. Проверьте, что база данных содержит таблицу <имя базы данных кластера-источника>_measurements с тестовыми данными:

      SELECT *
      FROM <имя базы данных кластера-источника>_measurements;
      
  3. Подключитесь к кластеру-источнику Managed Service for MySQL и добавьте данные в таблицу measurements:

    INSERT INTO measurements VALUES
        ('iv7b74th678tooxh5ur2', '2020-06-08 17:45:00', 53.70987913, 36.62549834, 378.0, 20.5, 5.3, 20, NULL);
    
  4. Убедитесь, что в базе данных Managed Service for YDB отобразились сведения о добавленной строке:

    Консоль управления
    CLI
    1. В консоли управления выберите каталог, в котором находится нужная база данных.
    2. В списке сервисов выберите Managed Service for YDB.
    3. Выберите базу из списка.
    4. Перейдите на вкладку Навигация.
    5. Проверьте, что в таблицу <имя базы данных кластера-источника>_measurements добавились новые данные.
    1. Подключитесь к базе данных Managed Service for YDB.

    2. Проверьте, что в таблицу <имя базы данных кластера-источника>_measurements добавились новые данные:

      SELECT *
      FROM <имя базы данных кластера-источника>_measurements;
      

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

Примечание

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

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

  1. Удалите трансфер.
  2. Удалите эндпоинт для приемника.
  3. Если при создании эндпоинта для приемника вы создавали сервисный аккаунт, удалите его.

Остальные ресурсы удалите в зависимости от способа их создания:

Вручную
С помощью Terraform
  • Удалите эндпоинт для источника.
  • Удалите базу данных Managed Service for YDB.
  • Удалите кластер Managed Service for MySQL.
  1. В терминале перейдите в директорию с планом инфраструктуры.

  2. Удалите конфигурационный файл data-transfer-mmy-ydb.tf.

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

    terraform validate
    

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

  4. Подтвердите изменение ресурсов.

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

      terraform plan
      

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

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

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

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

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

    Все ресурсы, которые были описаны в конфигурационном файле data-transfer-mmy-ydb.tf, будут удалены.

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

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Подготовьте инфраструктуру
  • Подготовьте кластер-источник
  • Подготовьте и активируйте трансфер
  • Проверьте работоспособность трансфера
  • Удалите созданные ресурсы