sql >> Database >  >> RDS >> Mysql

MySQL migreren naar PostgreSQL op AWS RDS, deel 2

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 toevoegen

Verbinding 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 verkrijgen

Voer 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=postgresdb

De opdrachtregelinterface (CLI) van de PostgreSQL-database wordt gestart, zoals weergegeven in Afbeelding 15.


Figuur 15: Verbinding maken met PostgreSQL-database op RDS met een CLI

Maak een lijst van de schema's met de dn opdracht. Het openbare schema wordt weergegeven (zie afbeelding 16).


Figuur 16: Lijstschema's

Conclusie

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.


  1. MySQL-fout 1264:waarde buiten bereik voor kolom

  2. MySQL Databases vergelijken

  3. Procedure aanroepen zonder parameter als tabeltype uit een Java-klasse

  4. Is er voor een beginner veel verschil tussen MySQL en PostgreSQL?