Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Migracja MySQL do PostgreSQL na AWS RDS, część 4

W czterech samouczkach badamy migrację bazy danych MySQL do bazy danych PostgreSQL przy użyciu usługi migracji bazy danych AWS (DMS). Zaczęliśmy od stworzenia użytkownika IAM dla DMS w pierwszym samouczku „Migracja MySQL do PostgreSQL na AWS RDS, część 1.” Następnie omówiliśmy tworzenie instancji MySQL i PostgreSQL w AWS Relational Database Service (RDS) w drugim samouczku, „Migracja MySQL do PostgreSQL na AWS RDS, część 2.”. W trzecim samouczku „Migracja MySQL do PostgreSQL na AWS RDS, część 3” stworzyliśmy migrację DMS. W tym ostatnim samouczku omówimy uruchomienie migracji DMS w celu przeprowadzenia migracji.

Ten samouczek zawiera następujące sekcje:

  • Uruchamianie zadania migracji DMS
  • Eksplorowanie przeniesionej bazy danych
  • Eksplorowanie dzienników CloudWatch
  • Ograniczenia migracji MySQL do PostgreSQL z DMS
  • Wniosek

Uruchamianie zadania migracji DMS

Po utworzeniu zadania Status powinien stać się Gotowy , jak pokazano na rysunku 1. Kliknij Rozpocznij/Wznów aby rozpocząć zadanie.


Rysunek 1: Rozpocznij/Wznów

Status powinien mieć postać Rozpoczyna , jak pokazano na rysunku 2.


Rysunek 2: Rozpoczęcie zadania

Gdy zadanie nawiąże połączenie z instancją replikacji i punktami końcowymi bazy danych i zostanie zastosowane, stan mapowania tabeli stanie się Uruchomiony , jak pokazano na rysunku 3.


Rysunek 3: Stan uruchomiony

Migracja jest uruchamiana zgodnie z konfiguracją, a po pomyślnym zakończeniu migracji Stan staje się Wczytywanie zakończone , jak pokazano na rysunku 4. Załadowane tabele kolumna wskazuje liczbę załadowanych tabel.


Rysunek 4: Status Ładowanie zakończone

W przypadku tabel, które zostały przeniesione, kliknij Statystyki tabel , jak pokazano na rysunku 5. Statystyki tabeli, w tym schemat, tabela, status, liczba wstawień, usunięć, aktualizacji, DDL, pełne wczytanie wierszy i suma są wyświetlane na liście.


Rysunek 5: Statystyki tabeli

Jeśli tabela źródłowej bazy danych nie zawiera tabel, pełne ładowanie wierszy wynosi 0. Jeśli tabela źródłowa zawiera wiersze, funkcja Pełne ładowanie wierszy wskazuje liczbę wierszy, jak pokazano dla niektórych wierszy na rysunku 6.


Rysunek 6: Pełne ładowanie wierszy dla niektórych tabel wynosi 0, podczas gdy dla innych tabel liczba załadowanych wierszy

Eksploracja zmigrowanej bazy danych

Po migracji schematów i tabel bazy danych MySQL do PostgreSQL, wymień schematy w PostgreSQL CLI z dn Komenda. Migrowane schematy zostaną wyświetlone, jak pokazano na rysunku 7. Publiczne schemat istniał już przed migracją.


Rysunek 7: Schematy migrowane z MySQL do bazy danych PostgreSQL

Migracja DMS automatycznie konwertuje typy kolumn tabeli. Indeks dodatkowy zostaje dodany do klucza podstawowego, tworzony automatycznie w mapowaniu tabeli.

Dane tabeli również są migrowane, jak pokazano dla mysql.user tabela na rysunku 8.


Rysunek 8: Dane tabeli są również migrowane

Podczas migracji z jednego typu bazy danych do innego (migracja heterogeniczna) mapowania typów danych są wykonywane automatycznie przez DMS. Podczas migracji używany jest pośredni typ danych DMS. Podczas migracji z bazy danych MySQL do PostgreSQL, najpierw typy danych MySQL są migrowane do typu danych DMS przy użyciu wbudowanych mapowań bazy danych MySQL jako bazy źródłowej. Następnie typ danych DMS jest mapowany na typy danych PostgreSQL, ponownie przy użyciu wbudowanych mapowań dla PostgreSQL jako docelowej bazy danych. Tabele związane z RDS w bazie danych MySQL na RDS również podlegają migracji do bazy danych PostgreSQL, takiej jak tabela „mysql”.”rds_replication_status” pokazana na rysunku 9.


Rysunek 9: Przeniesione dane do tabeli informacyjnej RDS

Eksplorowanie dzienników CloudWatch

Jeśli logowanie jest skonfigurowane, tak jak my, logi mogą być monitorowane z Dzienników jak pokazano na rysunku 10. Kliknij łącze zadania, aby wyświetlić logi CloudWatch.


Rysunek 10: Dzienniki

Dzienniki CloudWatch zostaną wyświetlone (patrz Rysunek 11).


Rysunek 11: Dzienniki CloudWatch

Jak wskazuje komunikat logów CloudWatch na rysunku 12:„Wszystkie tabele są załadowane. Zadanie tylko z pełnym ładowaniem zostało zatrzymane”.


Rysunek 12: Wszystkie tabele są wczytane

Podana jest również liczba przesłanych rekordów, tak jak w przypadku sys.sys_config tabela na rysunku 13.


Rysunek 13: Wpis dziennika dla tabeli bazy danych zawiera liczbę przesłanych rekordów

Dzienniki CloudWatch mogą służyć do debugowania uruchomienia zadania migracji. Komunikaty o błędach są wymienione dla tabel, które nie zostały pomyślnie przeniesione w dziennikach CloudWatch.

Ograniczenia migracji MySQL do PostgreSQL z DMS

Migracja z bazy MySQL do bazy PostgreSQL z DMS nie jest pozbawiona ograniczeń. Sama usługa DMS ma limity na konto użytkownika AWS. Inne ograniczenia DMS mogą być specyficzne dla bazy danych. Typy danych źródłowych DMS dla MySQL nie zawierają 4-bajtowego zestawu znaków UTF-8 (utf8mb4). Zestaw znaków obsługiwany przez DMS to kod Page 1252 Windows Latin 1 (ANSI), a znaki spoza zestawu znaków mogą generować błąd podczas migracji. Istnieją pewne ograniczenia dotyczące bazy danych MySQL jako źródła DMS. Jedynym ograniczeniem korzystania z PostgreSQL jako docelowej bazy danych DMS jest to, że typ danych JSON jest konwertowany na typ danych Native CLOB.

Wniosek

W czterech samouczkach omówiliśmy migrację instancji bazy danych MySQL na RDS do instancji bazy danych Postgres na RDS.


  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 UPUŚĆ WIDOK

  2. DATE_FORMAT() Przykłady – MySQL

  3. Pobieranie połączonej listy w bazie danych MySQL

  4. mysql sprawdza, czy liczby są na liście oddzielonej przecinkami

  5. MySQL w chmurze — zalety i wady Amazon RDS