Mysql
 sql >> Database >  >> RDS >> Mysql

Migrazione da MySQL a PostgreSQL su AWS RDS, parte 4

In quattro tutorial, esploreremo la migrazione di un database MySQL a un database PostgreSQL utilizzando AWS Database Migration Service (DMS). Abbiamo iniziato creando un utente IAM per DMS nel primo tutorial, "Migrazione di MySQL a PostgreSQL su AWS RDS, parte 1". Successivamente, abbiamo discusso della creazione di istanze di MySQL e PostgreSQL su AWS Relational Database Service (RDS) nel secondo tutorial, "Migrazione di MySQL a PostgreSQL su AWS RDS, parte 2". Nel terzo tutorial, "Migrazione di MySQL a PostgreSQL su AWS RDS, parte 3", abbiamo creato una migrazione DMS. In questo tutorial finale, discuteremo dell'esecuzione della migrazione DMS per eseguire la migrazione.

Questo tutorial ha le seguenti sezioni:

  • Esecuzione dell'attività di migrazione DMS
  • Esplorazione del database migrato
  • Esplorazione dei log di CloudWatch
  • Limitazioni in MySQL alla migrazione PostgreSQL con DMS
  • Conclusione

Esecuzione dell'attività di migrazione DMS

Dopo che l'attività è stata creata, lo Stato dovrebbe diventare Pronto , come mostrato nella Figura 1. Fai clic su Avvia/Riprendi per avviare l'attività.


Figura 1: Avvia/Riprendi

Lo stato dovrebbe diventare Inizio , come mostrato nella Figura 2.


Figura 2: Avvio attività

Quando l'attività ha stabilito la connessione con l'istanza di replica e gli endpoint del database ed è stata applicata, la tabella mappa lo stato diventa In esecuzione , come mostrato nella Figura 3.


Figura 3: Stato In esecuzione

La migrazione viene eseguita come configurato e, al termine della migrazione, viene visualizzato lo Stato diventa Caricamento completo , come mostrato nella Figura 4. Le Tabelle caricate colonna indica il numero di tabelle caricate.


Figura 4: Stato Caricamento completato

Per le tabelle che sono state migrate, fai clic su Statistiche tabella scheda, come mostrato nella Figura 5. Statistiche tabella, inclusi Schema, Tabella, Stato, N. di inserimenti, Eliminazioni, Aggiornamenti, DDL, Righe a pieno carico e Totale vengono elencati.


Figura 5: Statistiche tabella

Se la tabella del database di origine non include tabelle, le Righe a pieno carico è 0. Se una tabella di origine contiene righe, Righe a pieno carico indica il n. di righe come mostrato per alcune righe nella Figura 6.


Figura 6: Righe a pieno carico per alcune tabelle è 0, mentre per altre tabelle, il numero di righe caricate

Esplorazione del database migrato

Dopo aver migrato gli schemi e le tabelle del database MySQL in PostgreSQL, elenca gli schemi nella CLI di PostgreSQL con il dn comando. Gli schemi migrati vengono elencati, come mostrato nella Figura 7. Il pubblico lo schema esisteva già prima della migrazione.


Figura 7: Schemi migrati da MySQL al database PostgreSQL

La migrazione DMS converte automaticamente i tipi di colonne della tabella. Viene aggiunto un indice secondario per una chiave primaria, creata automaticamente nella mappatura della tabella.

Anche i dati della tabella vengono migrati, come mostrato per mysql.user tabella nella Figura 8.


Figura 8: Anche i dati della tabella vengono migrati

Durante la migrazione da un tipo di database a un altro (migrazione eterogenea), le mappature dei tipi di dati vengono eseguite automaticamente da DMS. Durante una migrazione viene utilizzato un tipo di dati DMS intermedio. Quando si migra dal database MySQL a PostgreSQL, prima i tipi di dati MySQL vengono migrati al tipo di dati DMS utilizzando le mappature integrate per il database MySQL come database di origine. Successivamente, il tipo di dati DMS viene mappato sui tipi di dati PostgreSQL, sempre utilizzando le mappature integrate per PostgreSQL come database di destinazione. Anche le tabelle relative a RDS nel database MySQL su RDS vengono migrate al database PostgreSQL, come la tabella "mysql"."rds_replication_status" mostrato nella Figura 9.


Figura 9: Dati migrati per una tabella di informazioni RDS

Esplorazione dei log di CloudWatch

Se la registrazione è configurata, come abbiamo fatto noi, i registri possono essere monitorati dai Registri scheda, come mostrato nella Figura 10. Fai clic sul collegamento dell'attività per elencare i log di CloudWatch.


Figura 10: Registri

I log di CloudWatch vengono elencati (vedi Figura 11).


Figura 11: Registri di CloudWatch

Come indica un messaggio dei log di CloudWatch nella Figura 12, "Tutte le tabelle sono caricate. L'attività di solo carico completo è stata interrotta”.


Figura 12: Tutte le tabelle vengono caricate

Viene anche elencato il numero di record trasferiti, come per sys.sys_config tabella nella Figura 13.


Figura 13: La voce di registro per una tabella del database include il numero di record trasferiti

I log di CloudWatch possono essere utilizzati per eseguire il debug di un'attività di migrazione. I messaggi di errore sono elencati per le tabelle che non sono state migrate correttamente nei log di CloudWatch.

Limitazioni in MySQL alla migrazione PostgreSQL con DMS

La migrazione dal database MySQL al database PostgreSQL con DMS non è senza limitazioni. Il servizio DMS stesso ha limiti per account utente AWS. Altre limitazioni DMS potrebbero essere specifiche di un database. I tipi di dati di origine DMS per MySQL non includono il set di caratteri UTF-8 a 4 byte (utf8mb4). Il set di caratteri supportato da DMS è Code Page 1252 Windows Latin 1 (ANSI) ei caratteri non presenti nel set di caratteri potrebbero generare un errore durante una migrazione. Esistono alcune limitazioni per il database MySQL come origine DMS. L'unica limitazione per l'utilizzo di PostgreSQL come database di destinazione DMS è che il tipo di dati JSON viene convertito nel tipo di dati Native CLOB.

Conclusione

In quattro tutorial, abbiamo discusso della migrazione di un'istanza di database MySQL su RDS a un'istanza di database Postgres su RDS.