Базата данни MySQL и базата данни PostgreSQL са системи за управление на релационни бази данни с отворен код (RDBMS), класирани съответно на 2 и 4, според DBEngines.com. И двете са имплементирани в C (C++ се използва и за MySQL база данни) и двете предоставят подобни функции, като поддръжка на XML, вторични индекси, едновременност, издръжливост и дефинирани от потребителя функции. Базата данни PostgreSQL предоставя няколко предимства, някои от които са както следва:
- Поддържа разширени типове данни като многоизмерни масиви и дефинирани от потребителя типове
- Общите изрази за таблици (CTE) и функциите на прозореца са налични от PostgreSQL 8.4, докато се добавят само към MySQL във версия 8.0
- Поддържа пълни външни съединения
- Поддържа VALUES списъци за генериране на „постоянна таблица“, която може да се използва в заявка
- Поддържа набор от връщащи функции generate_series
- Поддържа паралелни заявки, използващи множество процесори за по-бърз отговор на заявки от версия 9.6
- Поддържа материализирани изгледи
Ако мигрирате от MySQL към PostgreSQL база данни AWS, DMS (Услуга за мигриране на бази данни) предоставя надеждна управлявана услуга с нулев престой за непрекъснато репликация на данни. В четири урока ще обсъдим мигрирането на екземпляр на база данни MySQL към база данни PostgreSQL, като и двете работят на AWS Relational Database Service (RDS). Този урок има следните раздели:
- Настройка на средата
- Създаване на IAM потребител за DMS
Настройка на средата
Единственото предварително условие е акаунт в AWS, който може да бъде създаден на тази връзка. Създайте главен ключ за криптиране на KMS, който да се използва с DMS, ако главен ключ вече не е наличен. Главният ключ на KMS се създава от IAM>Ключовете за криптиране табло. В този урок използвахме главен ключ за криптиране на KMS, наречен „dbms“.
Инсталирайте базата данни MySQL и базата данни PostgreSQL на локална машина, за да използвате приложенията на клиентския интерфейс за свързване с MySQL и PostgreSQL екземпляри на база данни на RDS.
Създаване на IAM потребител за DMS
DMS е напълно интегриран с няколко други AWS услуги, като RDS за бази данни, IAM за управление на идентичност и достъп, KMS за криптиране на данни и CloudWatch за регистриране. DMS също така поддържа S3 (Simple Storage Service) като цел за миграция. В този раздел ще създадем IAM потребител, който се използва с DMS за мигриране на екземпляр на MySQL база данни към база данни PostgreSQL. IAM потребителят се създава по следния начин:
- Създайте IAM политика с всички необходими разрешения и изявления за правилата.
- Създайте потребител на IAM въз основа на правилата за IAM.
За да създадете IAM правило, щракнете върху Създаване на политика в таблото за управление на IAM, както е показано на фигура 1.
Фигура 1: Създаване на политика
В Създаване на правила съветника, изберете Създайте своя собствена политика , както е показано на фигура 2.
Фигура 2: Избиране на опцията за създаване на собствена политика
В Правила за преглед , посочете Име на правило (DMS). След това копирайте следния документ с правилата в Документа с правилата поле или регион.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dms:*", "Resource": "*" }, { "Effect": "Allow", "Action": "s3:*", "Resource": "*" }, { "Effect": "Allow", "Action": "ds:*", "Resource": "*" }, { "Effect": "Allow", "Action": "rds:*", "Resource": "*" }, { "Effect": "Allow", "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Action": "iam:*", "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:*", "Resource": "*" }, { "Effect": "Allow", "Action": "cloudwatch:*", "Resource": "*" }, { "Effect": "Allow", "Action": "aws-marketplace:*", "Resource": "*" }, { "Effect": "Allow", "Action": "logs:*", "Resource": "*" } ] }
Документът с правилата добавя разрешения за достъп до CloudWatch за регистриране и RDS за бази данни. Кликнете върху Проверка на правилата и ако съобщението е „Правилата е валидна“, щракнете върху Създаване на правила , както е показано на фигура 3.
Фигура 3: Създаване на политика
Ако политиката бъде създадена, трябва да се покаже съобщението, показано на фигура 4.
Фигура 4: DMS е създаден
След това добавете потребител на IAM. Изберете Потребители в таблото за управление на IAM и кликнете върху Добавяне на потребител , както е показано на фигура 5.
Фигура 5: Добавяне на потребител
Посочете Потребителско име (двохра). След това изберете и двете изброени опции за Тип достъп (вижте фигура 6).
Фигура 6: Добавяне на потребителски детайли
Изберете Персонализирана парола опция за Парола за конзола , посочете парола и щракнете върху Напред:Разрешения , както е показано на Фигура 7.
Фигура 7: Конфигуриране на тип достъп
След това задайте разрешения за потребителя. Кликнете върху Прикачване на съществуващи правила директно , както е показано на Фигура 8.
Фигура 8: Прикачете директно съществуващи правила
В Тип правила филтър, потърсете „DMS“, което е политиката, създадена по-рано. Изберете DMS политиката, както е показано на фигура 9, и щракнете върху Напред.
Фигура 9: Избиране на DMS политика
В Преглед , DMS политиката трябва да бъде посочена като Управлявана политика в Разрешения обобщение. Кликнете върху Създаване на потребител , както е показано на Фигура 10.
Фигура 10: Създаване на потребител
Потребителят на IAM се създава (вижте Фигура 11).
Фигура 11: IAM потребител е създаден
Потребителят на IAM се вписва в IAM>Потребители таблото, както е показано на фигура 12.
Фигура 12: IAM потребител
За да влезете като създадения потребител на IAM, щракнете върху връзката за потребителя, изберете идентификационни данни за сигурност раздела и копирайте връзката за влизане в конзолата , както е показано на Фигура 13.
Фигура 13: Връзка за влизане в конзолата
Влезте като потребител на IAM, създаден с помощта на връзката за влизане в конзолата за следващите секции.
Заключение
В този първи от четирите урока за мигриране на екземпляр на база данни MySQL на RDS към екземпляр на база данни Postgres на RDS, създадохме IAM потребител, който да извърши миграцията.