Mysql
 sql >> база данни >  >> RDS >> Mysql

Мигриране на MySQL към PostgreSQL на AWS RDS, част 3

В набор от четири урока ние изследваме мигрирането на екземпляр на база данни MySQL към база данни PostgreSQL чрез използване на услугата за мигриране на база данни на AWS (DMS). В първия урок, „Мигриране на MySQL към PostgreSQL на AWS RDS, част 1“, ние представихме DMS и създадохме IAM потребител за DMS. Във втория урок, Мигриране на MySQL към PostgreSQL на AWS RDS, част 2“, създадохме екземпляри на MySQL и PostgreSQL на RDS и се свързахме с двата екземпляра. В този урок за продължаване ще създадем DMS миграция, за да извършим миграцията. Този урок има следните раздели:

  • Създаване на DMS миграция
  • Създаване на екземпляр на репликация
  • Създаване на крайни точки на задачата за миграция
  • Създаване на задача за мигриране
  • Заключение

Създаване на DMS миграция

В този раздел ще създадем услуга за мигриране на база данни (DMS), за да мигрираме базата данни MySQL към базата данни PostgreSQL. Миграцията на DMS се състои от следните компоненти:

  • Екземпляр на репликация
  • Крайни точки на базата данни
  • Задача

Ще обсъдим създаването на всеки от тях в подраздели, но първо трябва да създадете DMS миграция. Придвижете се до таблото за управление на DMS и щракнете върху Създаване на миграция , както е показано на фигура 1.


Фигура 1: Създаване на миграция

Съветникът за DMS започва. Щракнете върху Напред, както е показано на Фигура 2.


Фигура 2: DMS Wizard

Създаване на екземпляр на репликация

След това конфигурирайте екземпляр за репликация, който установява връзката между изходната и целевата база данни, прехвърля данните и кешира промените в данните, които възникват по време на първоначалното зареждане на данни. Посочете Име на екземпляр на репликация и Описание и изберете Клас на екземпляра (по подразбиране е dms.t2.medium), както е показано на фигура 3. Изберете VPC и изберете опцията за конфигуриране на висока наличност с Mult-Az; настройката по подразбиране е зададена на „Не“. Изберете опцията Обществено достъпно .


Фигура 3: Конфигуриране на екземпляр за репликация

В Разширени , запазете настройките по подразбиране за Разпределено хранилище (50 GB), група подмрежи за репликация, зона за наличност (без предпочитание) и група за защита на VPC (използване по подразбиране), както е показано на фигура 4. Изберете главния ключ на KMS (dbms), създаден по-рано в Настройка на средата раздел.


Фигура 4: Конфигуриране на разширени настройки за екземпляр за репликация

Щракнете върху Напред, както е показано на Фигура 5.


Фигура 5: Следващ

Екземплярът за репликация започва да се създава, както е показано от съобщението на фигура 6. След това трябва да се конфигурират връзките към базата данни източник и целевата база, което ще постигнем в следващия подраздел.


Фигура 6: Започва да се създава екземпляр на репликация

Създаване на крайни точки на задача за миграция

Създаването на екземпляра за репликация може да отнеме няколко минути. Крайните точки на миграцията могат да бъдат добавени, докато се създава екземпляр на репликация. Изберете Източник като „mysql“, както е показано на фигура 7.


Фигура 7: Избиране на Source Engine

Изберете Целева машина като „postgres“, както е показано на фигура 8.


Фигура 8: Избиране на Target Engine

В Име на сървър , посочете Крайната точка за RDS DB екземпляр за базата данни, като премахнете :port наставка. За база данни MySQL крайната точка на RDS е mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com:3306 . Затова посочете Име на сървъра като mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com , както е показано на фигура 9. За PostgreSQL база данни на RDS, крайната точка е postgresdb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com:5432; затова посочете Име на сървъра като postgresdb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com . Посочете порта отделно за изходната и целевата база данни:3306 за MySQL база данни и 5432 за Postgres.


Фигура 9: Указване на име на сървър и порт за изходни и целеви бази данни

Превъртете надолу за повече настройки за конфигурация на крайната точка, както е показано на Фигура 10. Изберете SSL режим катоникой както за изходната, така и за целевата база данни. Посочете потребителското име и паролата, както са конфигурирани при създаване на RDS DB екземпляри. Посочете името на базата данни PostgreSQL (postgresdb), също както е конфигурирано при създаване на екземпляр на RDS DB.


Фигура 10: Посочване на SSL режим, потребителско име, парола и SID или име на база данни

В Разширени настройки могат да бъдат посочени допълнителни атрибути за връзка, налични за MySQL база данни и PostgreSQL база данни, но не са необходими за този урок. Изберете главния ключ на KMS (dbms) както за изходната, така и за целевата база данни (вижте Фигура 11). За да тествате крайните точки на DMS, Изпълнете тест Осигурени са бутони, както е показано на Фигура 11. Изпълнение на теста бутоните са оцветени в сиво или забранени, докато не бъде създаден екземпляр за репликация.


Фигура 11: Конфигуриране на разширени настройки за DMS крайни точки

Когато екземплярът за репликация е създаден, се показва съобщението „Репликация е създадена успешно“, както е показано на Фигура 12.


Фигура 12: Репликационният екземпляр е създаден успешно

След като екземплярът за репликация бъде създаден, Изпълнение на теста бутоните стават активирани. Кликнете върху Извършване на тест , както е показано на Фигура 13, за всяка база данни.


Фигура 13: Изпълнете тест

Връзките започват да се тестват, както е посочено от съобщението „Тестване на връзката с крайна точка“ на Фигура 14.


Фигура 14: Тестване на връзки с крайни точки

Ако връзките на крайната точка са конфигурирани според изискванията, трябва да се покаже съобщението „Връзката е тествана успешно“, както е показано на Фигура 15. Щракнете върху Напред.


Фигура 15: Връзката е тествана успешно

Създаване на задача за мигриране

След като създадем екземпляр за репликация и крайни точки на базата данни, следва да създадем задача за миграция, за да се свържем с крайните точки и действително да прехвърлим данните. В Създаване на задача съветника, посочете Име на задача (също е посочена по подразбиране) и добавете описание на задачата (вижте Фигура 16). Изберете опцията за Стартиране на задача при създаване .


Фигура 16: Създаване на съветник за задачи

Изходните и целевите крайни точки и екземплярът за репликация са били конфигурирани преди това и не могат да се променят при създаване на задача. Изберете Тип миграция , който изброява три опции, както е показано на Фигура 17.

  • Мигриране на съществуващи данни :Мигрира съществуващите схеми, таблици и таблични данни, които вече съществуват в изходната база данни, но не мигрира последващи промени на текуща база.
  • Мигрирайте съществуващите данни и копирайте текущите промени :Мигрира съществуващите схеми, таблици и данни от таблици, които вече съществуват в изходната база данни и също така мигрира последващи промени на текуща база.
  • Само повторни промени в данните :Не мигрира съществуващи схеми, таблици и данни и мигрира само промените в данните.

Изберете Мигриране на съществуващи данни опция, както е показано на Фигура 17. За да мигрирате промените, което предоставят другите две опции, времето за задържане на двоичен журнал в MySQL DB екземпляра трябва да бъде увеличено до 24 часа или повече.


Фигура 17: Избиране на тип миграция като Мигриране на съществуващи данни

След това конфигурирайте Настройки на задачата . Режимът за подготовка на целева таблица настройката се отнася за таблиците в целевата база данни и предоставя три опции:

  • Не правете нищо :Данните и метаданните на целевите таблици не се променят
  • Отпуснете таблиците към целта :Съществуващите таблици, ако има такива, се премахват и се създават нови
  • Отрязване :Таблиците са съкратени, което означава, че данните от таблицата са изтрити, но метаданните на таблицата не са променени. Включване на LOB колони в репликация настройката се прилага за колоните с тип данни LOB в изходната база данни и предоставя три опции:
    • Не включвайте LOB колони :LOB колоните са изключени от миграцията
    • Пълен режим LOB :Мигрира пълни LOB, независимо от размера; LOB се мигрират на парчета, което може да забави процеса на миграция
    • Ограничен режим LOB :Съкратете LOB до размера, посочен в максимален размер на LOB (kb)

Изберете Режим за подготовка на целева таблица като Не правете нищо, както е показано на фигура 18. Изберете Включване на LOB колони в репликация като Ограничен режим LOB и посочете Максимален размер на LOB като 32 kb (по подразбиране). Изберете Активиране на регистриране опция.


Фигура 18: Настройки на задачите

След това добавете правила за избор и правила за трансформация в Съпоставяне на таблици , както е показано на Фигура 19. Таблиците могат да се добавят с помощта на Упътвания потребителски интерфейс или като JSON . Препоръчва се управляваният потребителски интерфейс. Трябва да се добави поне едно правило за избор и правилата за трансформация не са задължителни. Прилагат се правила за избор, докато избирането на схеми, таблици и колони от изходната база данни и правилата за трансформация се прилагат, преди схемите, таблиците и колоните да бъдат мигрирани към целевата база данни.


Фигура 19: Картографиране на таблици

Схемата може да бъде избрана от Името на схемата е падащо меню или, ако няма изброени, изберете Въведете схема и посочете схема в Името на схемата е като поле. Действие падащото меню изброява две опции:Включване и Изключване . Опцията Включване включва селекциите, направени за схеми и таблици, а опцията Изключване изключва схемите и таблиците. Изключенията се обработват след включванията. Не всички схеми трябва да бъдат избрани и не всички таблици от схема трябва да бъдат избрани.

Ще добавим следното правило за избор:

  • Включете всички схеми и всички таблици от изходната база данни

За правилото за избор изберете Въведете схема и посочете Името на схемата е като % , който избира всички схеми в изходната база данни, както е показано на фигура 20. Посочете Името на таблицата е като като % , който избира всички таблици в избраните схеми. Изберете Действие като Включи .


Фигура 20: Конфигуриране на правило за избор

Кликнете върху Добавяне на правило за избор (вижте фигура 21).


Фигура 21: Добавяне на правило за избор

Добавя се правило за избор, както е показано на Фигура 22. Когато задачата е създадена, IAM роля dms-cloudwatch-logs-role е създаден, за да позволи на DMS достъп до CloudWatch.


Фигура 22: Добавено е правило за избор

След това добавете правило за трансформация. За това щракнете върху добавяне на правило за трансформация връзка, както е показано на фигура 23.


Фигура 23: Добавете правило за трансформация

Правилото за трансформация има настройки за Целта . Правилото има три опции, както е показано на фигура 24.

  • Схема
  • Таблица
  • Колона

Къде определя подмножество от обекти, избрани от правилата за избор. Действието е трансформацията, която трябва да се приложи, и са налични следните опции:

  • Преименуване на (достъпно за обекти на схема и таблица)
  • Премахване на колона (достъпно за колони)
  • Направете малки букви (достъпно за схеми, таблици и колони)
  • Направете главни букви (достъпно за схеми, таблици и колони)
  • Добавяне на префикс (достъпно за схеми, таблици и колони)
  • Премахване на префикса (достъпно за схеми, таблици и колони)


Фигура 24: Правила за трансформация Настройки

PostgreSQL използва малки букви в схеми, таблици и колони. Ще добавим три правила за трансформация:

  • Направете всички схеми с малки букви
  • Направете всички таблици с малки букви
  • Направете всички колони с малки букви

За да добавите първото от тези правила за трансформация, изберете Цел като схема както е показано на Фигура 25. Посочете Името на схемата е като % . Изберете Действие като Направете малки букви и кликнете върху Добавяне на правило за трансформация .


Фигура 25: Добавяне на правило за трансформация

Добавя се правило за трансформация (виж Фигура 26). За да добавите друго правило за трансформация, щракнете върху добавяне на правило за трансформация връзка отново.


Фигура 26: Добавено е правило за трансформация

Изберете Цел катоТаблица , както е показано на Фигура 27. Посочете Името на схемата е като % . Изберете Името на таблицата е като % . Изберете Действие като Направете малки букви и кликнете върху Добавяне на правило за трансформация .


Фигура 27: Добавяне на правило за трансформация за преименуване на таблица

Изберете Цел като Колона , както е показано на Фигура 28. Посочете Името на схемата е като % . Изберете Името на таблицата е като % . Изберете Името на колоната е като % . Изберете Действие като Направете малки букви и кликнете върху Добавяне на правило за трансформация .


Фигура 28: Добавяне на правило за трансформация, за да се направи името на колоната с малки букви

Добавените три правила за избор и едно правило за трансформация са показани на Фигура 29. Когато задачата се изпълнява, правилата за избор се прилагат преди правилата за трансформация. За предварителни настройки щракнете върху Разширени настройки , както е показано на Фигура 29.


Фигура 29: Правила за подбор и правила за трансформация

В Разширени настройки , изберете Настройки на контролната таблица и посочете Създаване на контролна таблица в целта с помощта на схема катопублично , както е показано на фигура 30, и щракнете върху Готово.


Фигура 30: Задаване на схема на контролната таблица в Target

Разширената настройка се добавя (вижте Фигура 31).


Фигура 31: Разширени настройки

След като конфигурирате задачата, щракнете върху Създаване на задача , както е показано на фигура 32, за да създадете задачата.


Фигура 32: Създайте задача

Създава се задача за мигриране, както е показано на фигура 33. Първоначално състоянието на задачата е „Създаване.


Фигура 33: Задача за миграция

Задачата може да има едно от състоянията, обсъдени в Таблица 1.

Състояние Описание
Създаване Задачата се създава.
Готово Задачата е готова за стартиране и изпълнение. Обикновено следва състоянието „Създаване“.
Стартиране Задачата стартира, през което време задачата се свързва с екземпляра на репликация и крайните точки на базата данни. Правилата за избор и трансформация се прилагат.
Изпълнява се Задачата се изпълнява, което означава, че задачата мигрира базата данни.
Зареждането завърши Задачата завърши зареждането (мигрирането) на базата данни.
Неуспешно Задачата е неуспешна.
Грешка По време на миграцията е възникнала грешка. Някои от схемите и таблиците може да са мигрирали успешно, но поне една схема или таблица не е успяла да мигрира.
Промяна Задачата се променя, обикновено след като потребител е променил задачата.
Спиране Задачата спира, което обикновено е след като потребителят е избрал да спре задача.
Спр. Задачата е спряна, което може да се дължи на това, че потребител е спрял задача или защото се използва тип миграция на Мигриране на съществуващи данни и копиране на текущи промени и задачата е завършила първоначалното зареждане .
Изтриване Задачата се изтрива, което се дължи на това, че потребителят е изтрил задачата.

Таблица 1: Състояния на задачите

Две IAM роли, едната за CloudWatch, а другата за VPC, се създават, както е показано на фигура 34.


Фигура 34: IAM роли за DMS

Заключение

В този трети урок за мигриране на екземпляр на MySQL база данни на RDS към екземпляр на база данни на Postgres на RDS, създадохме миграция на DMS, включваща екземпляр на репликация, крайни точки на миграция и задача за миграция. В четвъртия урок ще обсъдим изпълнението на миграцията на DMS, за да извършим миграцията и да оценим резултатите.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Функция MySQL RADIANS() – Преобразуване от градуси в радиани

  2. Как да се свържете с MySQL източник на данни във Visual Studio

  3. Грешка в MySQL 1093 - Не може да се посочи целева таблица за актуализиране в клауза FROM

  4. Как да свържете параметри към необработена DB заявка в Laravel, която се използва в модел?

  5. Как да извлечем първия и последния запис на групиран запис в MySQL заявка с агрегатни функции?