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 Sì . 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.