MySQL Database en PostgreSQL-database zijn de twee belangrijkste open source relationele databasebeheersystemen (RDBMS), die elk een aantal unieke voordelen bieden. In het vorige artikel, "MySQL migreren naar PostgreSQL op AWS RDS, deel 1", hebben we enkele voordelen van PostgreSQL boven MySQL besproken en AWS Database Migration Service (DMS) geïntroduceerd om een migratie van MySQL naar PostgreSQL uit te voeren. We zijn begonnen met het maken van een AWS IAM-gebruiker voor DMS. In deze vervolgtutorial zullen we instanties van MySQL- en PostgreSQL-databases op RDS maken en met elk daarvan verbinding maken. Deze tutorial heeft de volgende secties:
- AWS RDS-instanties maken voor een MySQL-database en PostgreSQL-database
- Connectiviteit tussen databases en het DMS configureren
- Verbinding maken met de MySQL-database
- Verbinding maken met een PostgreSQL-database
- Conclusie
AWS RDS-instanties maken voor een MySQL-database en PostgreSQL-database
Maak respectievelijk de bron- en doeldatabases, MySQL-database en PostgreSQL-database op AWS RDS. Het gebruik van RDS is besproken in een eerdere tutorial. Voor de brondatabase, MySQL-database, selecteert u MySQL, zoals weergegeven in Afbeelding 1.
Figuur 1: MySQL selecteren in RDS
Selecteer de productie of de Dev/Test implementatieoptie, zoals weergegeven in Afbeelding 2. Klik op Volgende stap.
Figuur 2: Implementatietype selecteren
Specificeer DB details , waarvan de meeste geschikte standaardinstellingen hebben. Selecteer DB-instantieklasse (db.t2.micro of db.t1.micro). Geef een DB Instance Identifier (MYSQLDB) op, dit mag geen door de MySQL-database gereserveerd woord zijn, zoals 'MYSQL'. Geef een hoofdgebruikersnaam en hoofdwachtwoord op (moet ten minste 8 tekens lang zijn) en klik op Volgende stap. Configureer vervolgens Geavanceerde instellingen . Selecteer voor VPC Nieuwe VPC maken . Selecteer voor Subnetgroep Nieuwe DB-subnetgroep maken . Voor Openbaar toegankelijk , selecteer Ja . Voor Beschikbaarheidszone , selecteer Geen voorkeur . Voor VPC-beveiligingsgroep , selecteer Nieuwe beveiligingsgroep maken. Specificeer database-opties, inclusief een databasenaam (MYSQLDB), die geen gereserveerd woord mag zijn, zoals 'MYSQL', en databasepoort (3306). Behoud de standaardinstellingen voor Back-up; automatische back-ups zijn vereist om MySQL op RDS als DMS-bron te gebruiken. Behoud de standaardinstellingen voor Monitoring en Onderhoud en klik op DB-instantie starten . De MySQL-database op RDS wordt gemaakt.
Voor een PostgreSQL-database selecteert u RDS Database-engine als PostgreSQL , zoals weergegeven in afbeelding 3.
Figuur 3: PostgreSQL-database-engine selecteren
Selecteer het implementatietype Dev/Test en klik op Volgende stap. Specificeer DB-details; de meeste standaardinstellingen zijn geschikt. Geef DB Instance Identifier (postgresdb), Hoofdgebruikersnaam, Hoofdwachtwoord op en klik op Volgende stap. Configureer vervolgens geavanceerde instellingen, waaronder de databaseopties voor databasenaam (postgresdb), databasepoort (5432), en klik op DB-instantie starten. Een PostgreSQL-database wordt gelanceerd op RDS. De MySQL-database en PostgreSQL-database op RDS worden weergegeven in Afbeelding 4.
Figuur 4: MySQL- en PostgreSQL-database op RDS
Connectiviteit tussen databases en het DMS configureren
Database Migration Service (DMS) kan standaard geen verbinding maken met RDS DB-instanties. We moeten connectiviteit toevoegen aan de beveiligingsgroepen voor het RDS DB-exemplaar. Klik op de Beveiligingsgroep link in Configuratiedetails voor de MySQL RDS DB-instantie, zoals weergegeven in Afbeelding 5.
Figuur 5: Beveiligingsgroep voor MySQL op RDS
Selecteer in de Security Group-console het tabblad Inkomend en klik op Bewerken (zie afbeelding 6).
Figuur 6: Beveiligingsgroep>
Bewerken
In Inkomende regels bewerken , selecteer Type als Al het verkeer , Protocol als Alle , Poortbereik als 0-65535, Bron als Overal en klik op Opslaan , zoals weergegeven in afbeelding 7.
Figuur 7: Inkomende regels configureren om al het verkeer toe te staan
De regels voor inkomend verkeer worden geconfigureerd om al het verkeer toe te staan, zoals weergegeven in Afbeelding 8.
Figuur 8: Inkomend>Al het verkeer
De Uitgaande regels moeten ook worden ingesteld op Alle verkeer, zoals weergegeven in Afbeelding 9, wanneer de regels voor inkomend verkeer zijn geconfigureerd.
Figuur 9: Uitgaand>Al het verkeer
Klik op dezelfde manier op de koppeling Beveiligingsgroep voor de PostgreSQL RDS DB-instantie, zoals weergegeven in Afbeelding 10, en configureer regels voor inkomend/uitgaand verkeer om al het verkeer toe te staan.
Figuur 10: Beveiligingsgroep configureren voor PostgreSQL om al het verkeer toe te staan
Verbinding maken met de MySQL-database
Bij het migreren van een MySQL-database-instantie op RDS, kan de volledige database worden gemigreerd, inclusief alle schema's en tabellen, inclusief de systeemschema's en tabellen. In deze sectie zullen we verbinding maken met de MySQL-database op RDS en enkele gebruikersrechten toekennen aan de dvohra gebruiker. Om verbinding te maken met de MySQL-database, verkrijgt u de database Endpoint van het RDS-dashboard (zie afbeelding 11).
Figuur 11: Eindpunt verkrijgen
Voer in een opdrachtshell de volgende MySQL-opdracht uit vanuit de bin-directory van de MySQL-database (C:Program FilesMySQLMySQL Server 5.7bin). Hiermee wordt een MySQL CLI-sessie gestart.
mysql -h mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com -u dvohra -p
Geef het wachtwoord op bij Voer wachtwoord in: snel. De SQL> opdrachtprompt wordt weergegeven, zoals weergegeven in Afbeelding 12.
Figuur 12: Verbinding maken met MySQL-database met CLI
Verleen vervolgens bevoegdheden voor de MySQL-database-instantie op RDS aan de DMS-gebruiker (dvohra).
WIJS ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE, SELECT ON *.* TO 'dvohra'@'%'; pre>Gebruikersrechten worden ingesteld, zoals weergegeven in Afbeelding 13.
Figuur 13: Gebruikersrechten toevoegenVerbinding maken met een PostgreSQL-database
Om verbinding te maken met de PostgreSQL-database op RDS vanuit een opdrachtshell, verkrijgt u de database Endpoint vanaf het RDS-dashboard, zoals weergegeven in Afbeelding 14.
Figuur 14: Het PostgreSQL-database-eindpunt op RDS verkrijgenVoer de volgende opdracht uit om verbinding te maken met de PostgreSQL-database en een opdrachtregelinterface (CLI) te starten.
psql --host=postgresdb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com --port=5432 --username dvohra --password --dbname=postgresdbDe opdrachtregelinterface (CLI) van de PostgreSQL-database wordt gestart, zoals weergegeven in Afbeelding 15.
Figuur 15: Verbinding maken met PostgreSQL-database op RDS met een CLIMaak een lijst van de schema's met de dn opdracht. Het openbare schema wordt weergegeven (zie afbeelding 16).
Figuur 16: Lijstschema'sConclusie
In deze tweede van vier tutorials over het migreren van een MySQL-database-instantie op RDS naar een Postgres-database-instantie op RDS met AWS DMS, hebben we instanties van de twee databases op RDS gemaakt en verbonden met de database-instanties. In de volgende tutorial zullen we een DMS-migratie maken.