MySQL Database och PostgreSQL-databasen är de två bästa relationsdatabashanteringssystemen (RDBMS) med öppen källkod, med var och en med några unika fördelar. I den tidigare artikeln, "Migrera MySQL till PostgreSQL på AWS RDS, del 1", diskuterade vi några av fördelarna med PostgreSQL framför MySQL och introducerade AWS Database Migration Service (DMS) för att utföra en migrering från MySQL till PostgreSQL. Vi började med att skapa en AWS IAM-användare för DMS. I den här fortsättningshandledningen ska vi skapa instanser av MySQL- och PostgreSQL-databaser på RDS och ansluta till var och en. Denna handledning har följande avsnitt:
- Skapa AWS RDS-instanser för en MySQL-databas och PostgreSQL-databas
- Konfigurera anslutning mellan databaser och DMS
- Ansluter till MySQL-databasen
- Ansluter till en PostgreSQL-databas
- Slutsats
Skapa AWS RDS-instanser för en MySQL-databas och PostgreSQL-databas
Skapa käll- och måldatabaserna, MySQL-databasen respektive PostgreSQL-databasen, på AWS RDS. Att använda RDS diskuteras i en tidigare handledning. För källdatabasen, MySQL-databasen, välj MySQL, som visas i figur 1.
Figur 1: Välj MySQL i RDS
Välj Produktion eller Dev/Test distributionsalternativ, som visas i figur 2. Klicka på Nästa steg.
Figur 2: Välja distributionstyp
Ange DB-detaljer , av vilka de flesta har lämpliga standardinställningar. Välj DB-instansklass (db.t2.micro eller db.t1.micro). Ange en DB-instansidentifierare (MYSQLDB), som inte får vara ett reserverat ord i MySQL-databas som "MYSQL". Ange ett huvudanvändarnamn, huvudlösenord (måste bestå av minst 8 tecken) och klicka på Nästa steg. Konfigurera sedan Avancerade inställningar . För VPC, välj Skapa ny VPC . För Subnät Group, välj Skapa ny DB Subnet Group . För Allmänt tillgängliga , välj Ja . För Tillgänglighetszon , välj Inga inställningar . För VPC Security Group , välj Skapa ny säkerhetsgrupp. Ange databasalternativ, inklusive ett databasnamn (MYSQLDB), som inte får vara ett reserverat ord som "MYSQL", och databasport (3306). Behåll standardinställningarna för säkerhetskopiering; automatiska säkerhetskopieringar krävs för att använda MySQL på RDS som en DMS-källa. Behåll standardinställningarna för övervakning och underhåll och klicka på Starta DB-instans . MySQL-databasen på RDS skapas.
För en PostgreSQL-databas, välj RDS-databasmotor som PostgreSQL , som visas i figur 3.
Figur 3: Väljer PostgreSQL Databas Engine
Välj driftsättningstypen Dev/Test och klicka på Nästa steg. Ange DB-detaljer; de flesta standardinställningar är lämpliga. Ange DB-instansidentifierare (postgresdb), huvudanvändarnamn, huvudlösenord och klicka på Nästa steg. Konfigurera sedan avancerade inställningar, inklusive databasalternativ för databasnamn (postgresdb), databasport (5432), och klicka på Starta DB-instans. En PostgreSQL-databas lanseras på RDS. MySQL-databasen och PostgreSQL-databasen på RDS visas i figur 4.
Figur 4: MySQL och PostgreSQL-databas på RDS
Konfigurera anslutning mellan databaser och DMS
Som standard kan Database Migration Service (DMS) inte ansluta till RDS DB-instanser. Vi måste lägga till anslutning till säkerhetsgrupperna för RDS DB-instansen. Klicka på Säkerhetsgruppen länk i Konfigurationsinformation för MySQL RDS DB-instansen, som visas i figur 5.
Figur 5: Säkerhetsgrupp för MySQL på RDS
I säkerhetsgruppens konsol, välj fliken Inkommande och klicka på Redigera (se figur 6).
Figur 6: Säkerhetsgrupp>
Redigera
I Redigera inkommande regler , välj Typ som All trafik , Protokoll som Alla , Portintervall som 0-65535, Källa som var som helst och klicka på Spara , som visas i figur 7.
Figur 7: Konfigurera inkommande regler för att tillåta all trafik
Inkommande regler konfigureras för att tillåta all trafik, som visas i figur 8.
Figur 8: Inkommande>All trafik
Utgående regler bör också ställas in på All trafik, som visas i figur 9, när reglerna för inkommande konfigureras.
Figur 9: Utgående>All trafik
På samma sätt klickar du på länken Säkerhetsgrupp för PostgreSQL RDS DB-instansen, som visas i figur 10, och konfigurerar inkommande/utgående regler för att tillåta all trafik.
Figur 10: Konfigurerar Security Group för PostgreSQL för att tillåta all trafik
Ansluter till MySQL-databasen
Vid migrering av en MySQL-databasinstans på RDS kan hela databasen migreras, vilket inkluderar alla scheman och tabeller, inklusive systemscheman och tabeller. I det här avsnittet ska vi ansluta till MySQL-databasen på RDS och ge vissa användarbehörigheter till dvohra användare. För att ansluta till MySQL-databasen skaffar du databasen Endpoint från RDS Dashboard (se figur 11).
Figur 11: Skaffa slutpunkt
I ett kommandoskal, kör följande MySQL-kommando från MySQL-databasens bin-katalog (C:Program FilesMySQLMySQL Server 5.7bin). Detta startar en MySQL CLI-session.
mysql -h mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com -u dvohra -p
Ange lösenordet vid Ange lösenord: prompt. SQL> kommandotolken visas, som visas i figur 12.
Figur 12: Ansluter till MySQL-databasen med CLI
Bevilja sedan privilegier för MySQL-databasinstansen på RDS till DMS-användaren (dvohra).
BEHANDLA ALTER, SKAPA, SLIPPA, INDEXERA, INFOGA, UPPDATERA, DELETE, VÄLJ PÅ *.* TO 'dvohra'@'%';GI ALLA PRIVILEGIER PÅ awsdms_control.* TO 'dvohra'@'%';Användarbehörigheter ställs in, som visas i figur 13.
Figur 13: Lägga till användarrättigheterAnsluter till en PostgreSQL-databas
För att ansluta till PostgreSQL-databasen på RDS från ett kommandoskal, skaffa databasen Slutpunkt från RDS-instrumentpanelen, som visas i figur 14.
Figur 14: Skaffa PostgreSQL Databas Endpoint på RDSKör följande kommando för att ansluta till PostgreSQL-databasen och starta ett kommandoradsgränssnitt (CLI).
psql --host=postgresdb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com --port=5432 --användarnamn dvohra --lösenord --dbname=postgresdbPostgreSQL-databasens kommandoradsgränssnitt (CLI) startar, som visas i figur 15.
Figur 15: Ansluter till PostgreSQL-databasen på RDS med en CLILista scheman med dn kommando. Det offentliga schemat listas (se figur 16).
Figur 16: ListningsschemanSlutsats
I denna andra av fyra handledningar om att migrera en MySQL-databasinstans på RDS till en Postgres-databasinstans på RDS med AWS DMS skapade vi instanser av de två databaserna på RDS och kopplade till databasinstanserna. I nästa självstudie ska vi skapa en DMS-migrering.