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

Migrazione da MySQL a PostgreSQL su AWS RDS, parte 2

Il database MySQL e il database PostgreSQL sono i primi due sistemi di gestione di database relazionali open source (RDBMS), ognuno dei quali offre alcuni vantaggi unici. Nell'articolo precedente, "Migrazione di MySQL a PostgreSQL su AWS RDS, parte 1", abbiamo discusso alcuni dei vantaggi di PostgreSQL rispetto a MySQL e abbiamo introdotto AWS Database Migration Service (DMS) per eseguire una migrazione da MySQL a PostgreSQL. Abbiamo iniziato creando un utente AWS IAM per DMS. In questo tutorial di continuazione, creeremo istanze di database MySQL e PostgreSQL su RDS e ci connetteremo a ciascuno. Questo tutorial ha le seguenti sezioni:

  • Creazione di istanze AWS RDS per un database MySQL e un database PostgreSQL
  • Configurazione della connettività tra database e DMS
  • Connessione al database MySQL
  • Connessione a un database PostgreSQL
  • Conclusione

Creazione di istanze AWS RDS per un database MySQL e un database PostgreSQL

Crea i database di origine e di destinazione, rispettivamente il database MySQL e il database PostgreSQL, su AWS RDS. L'uso di RDS è discusso in un tutorial precedente. Per il database di origine, database MySQL, seleziona MySQL, come mostrato nella Figura 1.


Figura 1: Selezione di MySQL in RDS

Seleziona la Produzione o lo Sviluppo/Test opzione di distribuzione, come mostrato nella Figura 2. Fare clic su Passaggio successivo.


Figura 2: Selezione del tipo di distribuzione

Specifica Dettagli DB , la maggior parte dei quali ha impostazioni predefinite adeguate. Seleziona Classe di istanza DB (db.t2.micro o db.t1.micro). Specificare un DB Instance Identifier (MYSQLDB), che non deve essere una parola riservata del database MySQL come 'MYSQL'. Specificare un nome utente principale, una password principale (deve contenere almeno 8 caratteri) e fare clic su Passaggio successivo. Quindi, configura Impostazioni avanzate . Per VPC, seleziona Crea nuovo VPC . Per Gruppo di sottoreti, seleziona Crea nuovo gruppo di sottoreti database . Per accessibile al pubblico , seleziona . Per Zona di disponibilità , seleziona Nessuna preferenza . Per Gruppo di sicurezza VPC , seleziona Crea nuovo gruppo di sicurezza. Specificare le opzioni del database, incluso un nome del database (MYSQLDB), che non deve essere una parola riservata come "MYSQL" e la porta del database (3306). Mantieni le impostazioni predefinite per il backup; sono necessari backup automatici per utilizzare MySQL su RDS come sorgente DMS. Mantieni le impostazioni predefinite per Monitoraggio e manutenzione e fai clic su Avvia istanza database . Viene creato il database MySQL su RDS.

Per un database PostgreSQL, seleziona Motore di database RDS come PostgreSQL , come mostrato nella Figura 3.


Figura 3: Selezione di Motore di database PostgreSQL

Seleziona il tipo di distribuzione Dev/Test e fai clic su Next Step. Specificare i dettagli del DB; la maggior parte delle impostazioni predefinite sono adatte. Specifica l'identificatore dell'istanza database (postgresdb), il nome utente principale, la password principale e fai clic su Passaggio successivo. Quindi, configura le impostazioni avanzate, incluse le Opzioni database per Nome database (postgresdb), Porta database (5432) e fai clic su Avvia istanza database. Un database PostgreSQL viene lanciato su RDS. Il database MySQL e il database PostgreSQL su RDS sono mostrati nella Figura 4.


Figura 4: Database MySQL e PostgreSQL su RDS

Configurazione della connettività tra database e DMS

Per impostazione predefinita, il servizio di migrazione del database (DMS) non è in grado di connettersi con le istanze database RDS. È necessario aggiungere la connettività ai gruppi di sicurezza per l'istanza database RDS. Fai clic sul Gruppo di sicurezza link in Dettagli di configurazione per l'istanza database MySQL RDS, come mostrato nella Figura 5.


Figura 5: Gruppo di sicurezza per MySQL su RDS

Nella console del gruppo di sicurezza, seleziona la scheda In entrata e fai clic su Modifica (vedi Figura 6).


Figura 6: Gruppo di sicurezza>Modifica

In Modifica regole in entrata , seleziona Tipo come Tutto il traffico , Protocollo come Tutti , Intervallo di porte come 0-65535, Fonte come Ovunque e fai clic su Salva , come mostrato nella Figura 7.


Figura 7: Configurazione delle regole in entrata per consentire tutto il traffico

Le regole in entrata vengono configurate per consentire tutto il traffico, come mostrato nella Figura 8.


Figura 8: Inbound>Tutto il traffico

L'uscita anche le regole dovrebbero essere impostate su Tutto il traffico, come mostrato nella Figura 9, quando le regole in entrata sono configurate.


Figura 9: In uscita>Tutto il traffico

Allo stesso modo, fai clic sul collegamento Gruppo di sicurezza per l'istanza database PostgreSQL RDS, come mostrato nella Figura 10, e configura le regole in entrata/in uscita per consentire tutto il traffico.


Figura 10: Configurazione del gruppo di sicurezza per PostgreSQL per consentire tutto il traffico

Connessione al database MySQL

Quando si migra un'istanza del database MySQL su RDS, è possibile migrare il database completo, che include tutti gli schemi e le tabelle, inclusi gli schemi e le tabelle di sistema. In questa sezione, ci collegheremo al database MySQL su RDS e concederemo alcuni privilegi utente a dvohra utente. Per connetterti al database MySQL, ottieni il database Endpoint dal dashboard di RDS (vedi Figura 11).


Figura 11: Ottenere l'endpoint

In una shell dei comandi, esegui il seguente comando MySQL dalla directory bin del database MySQL (C:ProgrammiMySQLMySQL Server 5.7bin). Verrà avviata una sessione della CLI MySQL.

mysql -h mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com
   -u dvohra -p

Specificare la password in Inserisci password: richiesta. Il SQL> viene visualizzato il prompt dei comandi, come mostrato nella Figura 12.


Figura 12: Connessione al database MySQL con CLI

Quindi, concedi i privilegi per l'istanza del database MySQL su RDS all'utente DMS (dvohra).

GRANT ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE,
   SELECT ON *.* TO 'dvohra'@'%';
GRANT ALL PRIVILEGES ON awsdms_control.* TO 'dvohra'@'%';

I privilegi dell'utente vengono impostati, come mostrato nella Figura 13.


Figura 13: Aggiunta di privilegi utente

Connessione a un database PostgreSQL

Per connettersi al database PostgreSQL su RDS da una shell dei comandi, ottenere il database Endpoint dal dashboard RDS, come mostrato nella Figura 14.


Figura 14: Ottenere l'endpoint del database PostgreSQL su RDS

Eseguire il comando seguente per connettersi al database PostgreSQL e avviare un'interfaccia a riga di comando (CLI).

psql --host=postgresdb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com
     --port=5432 --username dvohra --password --dbname=postgresdb

Viene avviata l'interfaccia a riga di comando (CLI) del database PostgreSQL, come mostrato nella Figura 15.


Figura 15: Connessione al database PostgreSQL su RDS con una CLI

Elenca gli schemi con dn comando. Lo schema pubblico viene elencato (vedi Figura 16).


Figura 16: Schemi di elenco

Conclusione

In questo secondo di quattro tutorial sulla migrazione di un'istanza di database MySQL su RDS a un'istanza di database Postgres su RDS con AWS DMS, abbiamo creato le istanze dei due database su RDS e ci siamo collegati alle istanze del database. Nel prossimo tutorial creeremo una migrazione DMS.