Baza danych MySQL i baza danych PostgreSQL są systemami zarządzania relacyjnymi bazami danych typu open source (RDBMS) na odpowiednio 2 i 4 miejscu, według DBEngines.com. Oba są zaimplementowane w C (C++ jest również używany w bazie danych MySQL) i oba zapewniają podobne funkcje, takie jak obsługa XML, indeksy pomocnicze, współbieżność, trwałość i funkcje zdefiniowane przez użytkownika. Baza danych PostgreSQL ma kilka zalet, z których niektóre są następujące:
- Obsługuje zaawansowane typy danych, takie jak tablice wielowymiarowe i typy zdefiniowane przez użytkownika
- Wspólne wyrażenia tabelowe (CTE) i funkcje okien są dostępne od wersji PostgreSQL 8.4, ale zostały dodane do MySQL tylko w wersji 8.0
- Obsługuje pełne połączenia zewnętrzne
- Obsługuje listy WARTOŚCI w celu wygenerowania „stałej tabeli”, która może być użyta w zapytaniu
- Obsługuje zestaw funkcji zwracających generate_series
- Obsługuje zapytania równoległe wykorzystujące wiele procesorów do szybszego odpowiadania na zapytania od wersji 9.6
- Obsługuje zmaterializowane widoki
W przypadku migracji z MySQL do bazy danych PostgreSQL AWS, DMS (Database Migration Service) zapewnia niezawodną usługę zarządzaną bez przestojów w celu ciągłej replikacji danych. W czterech samouczkach omówimy migrację instancji bazy danych MySQL do bazy danych PostgreSQL, obydwa działające na AWS Relational Database Service (RDS). Ten samouczek zawiera następujące sekcje:
- Ustawianie środowiska
- Tworzenie użytkownika uprawnień do DMS
Ustawianie środowiska
Jedynym warunkiem wstępnym jest konto AWS, które można utworzyć pod tym linkiem. Utwórz główny klucz szyfrowania KMS, który będzie używany z DMS, jeśli klucz główny nie jest jeszcze dostępny. Klucz główny KMS jest tworzony z IAM>kluczy szyfrowania deska rozdzielcza. W tym samouczku użyliśmy głównego klucza szyfrowania KMS o nazwie „dbms”.
Zainstaluj bazę danych MySQL i bazę danych PostgreSQL na komputerze lokalnym, aby używać aplikacji interfejsu klienta do łączenia się z instancjami baz danych MySQL i PostgreSQL na RDS.
Tworzenie użytkownika uprawnień do DMS
DMS jest w pełni zintegrowany z kilkoma innymi usługami AWS, takimi jak RDS dla baz danych, IAM do zarządzania tożsamością i dostępem, KMS do szyfrowania danych i CloudWatch do logowania. DMS obsługuje również S3 (Simple Storage Service) jako cel migracji. W tej sekcji utworzymy użytkownika IAM, który jest używany z DMS do migracji instancji bazy danych MySQL do bazy danych PostgreSQL. Użytkownik uprawnień jest tworzony w następujący sposób:
- Utwórz zasady uprawnień ze wszystkimi wymaganymi uprawnieniami i oświadczeniami dotyczącymi zasad.
- Utwórz użytkownika uprawnień na podstawie zasad uprawnień.
Aby utworzyć zasadę uprawnień, kliknij Utwórz zasadę w panelu uprawnień, jak pokazano na rysunku 1.
Rysunek 1: Utwórz zasadę
W Zasadach tworzenia kreatora, wybierz Utwórz własną politykę , jak pokazano na rysunku 2.
Rysunek 2: Wybór opcji tworzenia własnych zasad
W Zasadach recenzowania , określ Nazwę zasady (DMS). Następnie skopiuj następujący dokument dotyczący zasad do Dokumentu dotyczącego zasad pole lub region.
{ "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": "*" } ] }
Dokument zasad dodaje uprawnienia dostępu do CloudWatch w celu rejestrowania i RDS w przypadku baz danych. Kliknij Zweryfikuj zasady a jeśli komunikat brzmi „Zasady są prawidłowe”, kliknij Utwórz zasadę , jak pokazano na rysunku 3.
Rysunek 3: Utwórz zasadę
Jeśli polityka zostanie utworzona, powinien zostać wyświetlony komunikat pokazany na rysunku 4.
Rysunek 4: DMS został utworzony
Następnie dodaj użytkownika uprawnień. Wybierz Użytkownicy w panelu uprawnień i kliknij Dodaj użytkownika , jak pokazano na rysunku 5.
Rysunek 5: Dodaj użytkownika
Określ Nazwę użytkownika (dvohra). Następnie wybierz obie wymienione opcje dla Typu dostępu (patrz Rysunek 6).
Rysunek 6: Dodawanie szczegółów użytkownika
Wybierz Hasło niestandardowe opcja hasła konsoli , podaj hasło i kliknij Dalej:Uprawnienia , jak pokazano na rysunku 7.
Rysunek 7: Konfiguracja typu dostępu
Następnie ustaw uprawnienia dla użytkownika. Kliknij Załącz istniejące zasady bezpośrednio , jak pokazano na rysunku 8.
Rysunek 8: Dołącz istniejące zasady bezpośrednio
W Typie zasad filtr, wyszukaj „DMS”, czyli politykę utworzoną wcześniej. Wybierz politykę DMS, jak pokazano na rysunku 9, i kliknij Dalej.
Rysunek 9: Wybór zasad DMS
W Przeglądzie , zasady DMS powinny być wymienione jako Zasady zarządzane w Uprawnieniach streszczenie. Kliknij Utwórz użytkownika , jak pokazano na rysunku 10.
Rysunek 10: Utwórz użytkownika
Użytkownik IAM zostaje utworzony (patrz Rysunek 11).
Rysunek 11: Utworzono użytkownika uprawnień
Użytkownik uprawnień zostanie wymieniony w sekcji IAM>Użytkownicy pulpit nawigacyjny, jak pokazano na rysunku 12.
Rysunek 12: Użytkownik uprawnień
Aby zalogować się jako utworzony użytkownik uprawnień, kliknij link użytkownika, wybierz Poświadczenia bezpieczeństwa i skopiuj link do logowania do konsoli , jak pokazano na rysunku 13.
Rysunek 13: Link do logowania do konsoli
Zaloguj się jako użytkownik uprawnień utworzony za pomocą linku logowania do konsoli w kolejnych sekcjach.
Wniosek
W tym pierwszym z czterech samouczków dotyczących migracji instancji bazy danych MySQL w RDS do instancji bazy danych Postgres w RDS utworzyliśmy użytkownika uprawnień do przeprowadzenia migracji.