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

Migrering af MySQL til PostgreSQL på AWS RDS, del 2

MySQL-databasen og PostgreSQL-databasen er de to øverste open source relationsdatabasestyringssystemer (RDBMS), som hver giver nogle unikke fordele. I den forrige artikel, "Migrering af MySQL til PostgreSQL på AWS RDS, del 1", diskuterede vi nogle af fordelene ved PostgreSQL frem for MySQL og introducerede AWS Database Migration Service (DMS) til at udføre en migrering fra MySQL til PostgreSQL. Vi startede med at oprette en AWS IAM-bruger til DMS. I denne fortsættelsesvejledning skal vi oprette forekomster af MySQL- og PostgreSQL-databaser på RDS og oprette forbindelse til hver. Denne øvelse har følgende sektioner:

  • Oprettelse af AWS RDS-instanser til en MySQL-database og en PostgreSQL-database
  • Konfiguration af forbindelse mellem databaser og DMS
  • Opretter forbindelse til MySQL-databasen
  • Tilslutning til en PostgreSQL-database
  • Konklusion

Oprettelse af AWS RDS-instanser til en MySQL-database og en PostgreSQL-database

Opret kilde- og måldatabaserne, henholdsvis MySQL-databasen og PostgreSQL-databasen på AWS RDS. Brug af RDS er diskuteret i en tidligere tutorial. For kildedatabasen, MySQL-databasen, skal du vælge MySQL, som vist i figur 1.


Figur 1: Vælger MySQL i RDS

Vælg produktionen eller udvikleren/testen implementeringsmulighed, som vist i figur 2. Klik på Næste trin.


Figur 2: Valg af implementeringstype

Angiv DB-detaljer , hvoraf de fleste har passende standardindstillinger. Vælg DB Instance Class (db.t2.micro eller db.t1.micro). Angiv en DB Instance Identifier (MYSQLDB), som ikke må være et MySQL-database reserveret ord såsom 'MYSQL'. Angiv et masterbrugernavn, masteradgangskode (skal være på mindst 8 tegn), og klik på Næste trin. Konfigurer derefter Avancerede indstillinger . For VPC skal du vælge Opret ny VPC . For undernetgruppe skal du vælge Opret ny DB-undernetgruppe . Til offentligt tilgængelig , vælg Ja . Til Tilgængelighedszone , vælg Ingen præference . Til VPC Security Group , vælg Opret ny sikkerhedsgruppe. Angiv databaseindstillinger, herunder et databasenavn (MYSQLDB), som ikke må være et reserveret ord, såsom 'MYSQL', og databaseport (3306). Behold standardindstillingerne for Backup; automatisk sikkerhedskopiering er påkrævet for at bruge MySQL på RDS som en DMS-kilde. Behold standardindstillingerne for overvågning og vedligeholdelse, og klik på Start DB-forekomst . MySQL-databasen på RDS bliver oprettet.

For en PostgreSQL-database skal du vælge RDS-databasemotor som PostgreSQL , som vist i figur 3.


Figur 3: Valg af PostgreSQL Database Engine

Vælg Dev/Test-implementeringstypen, og klik på Næste trin. Angiv DB detaljer; de fleste standardindstillinger er egnede. Angiv DB Instance Identifier (postgresdb), Master Username, Master Password, og klik på Next Step. Konfigurer derefter avancerede indstillinger, inklusive databaseindstillingerne for databasenavn (postgresdb), databaseport (5432), og klik på Start DB-forekomst. En PostgreSQL-database bliver lanceret på RDS. MySQL-databasen og PostgreSQL-databasen på RDS er vist i figur 4.


Figur 4: MySQL og PostgreSQL-database på RDS

Konfiguration af forbindelse mellem databaser og DMS

Database Migration Service (DMS) er som standard ikke i stand til at oprette forbindelse til RDS DB-instanser. Vi skal tilføje forbindelse til sikkerhedsgrupperne for RDS DB-instansen. Klik på Sikkerhedsgruppen link i Konfigurationsdetaljer for MySQL RDS DB-instansen, som vist i figur 5.


Figur 5: Sikkerhedsgruppe til MySQL på RDS

I sikkerhedsgruppekonsollen skal du vælge fanen Indgående og klikke på Rediger (se figur 6).


Figur 6: Sikkerhedsgruppe>Rediger

I Rediger indgående regler , vælg Type som Al trafik , Protokol som Alle , Portrækkevidde som 0-65535, Kilde som Hvor som helst og klik på Gem , som vist i figur 7.


Figur 7: Konfiguration af indgående regler for at tillade al trafik

De indgående regler bliver konfigureret til at tillade al trafik, som vist i figur 8.


Figur 8: Indgående>Al trafik

Den Udgående regler bør også indstilles til Al trafik, som vist i figur 9, når de indgående regler er konfigureret.


Figur 9: Udgående>Al trafik

På samme måde skal du klikke på linket Sikkerhedsgruppe for PostgreSQL RDS DB-instansen, som vist i figur 10, og konfigurere indgående/udgående regler for at tillade al trafik.


Figur 10: Konfigurerer Security Group for PostgreSQL for at tillade al trafik

Opretter forbindelse til MySQL-databasen

Ved migrering af en MySQL-databaseinstans på RDS, kan hele databasen migreres, hvilket inkluderer alle skemaer og tabeller, inklusive systemskemaer og tabeller. I dette afsnit skal vi oprette forbindelse til MySQL-databasen på RDS og give nogle brugerrettigheder til dvohra bruger. For at oprette forbindelse til MySQL-databasen skal du hente databasen Endpoint fra RDS Dashboard (se figur 11).


Figur 11: Opnåelse af slutpunkt

I en kommandoskal skal du køre følgende MySQL-kommando fra MySQL-databasebin-mappen (C:Program FilesMySQLMySQL Server 5.7bin). Dette vil starte en MySQL CLI-session.

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

Angiv adgangskoden ved Indtast adgangskode: hurtig. SQL> kommandoprompten vises, som vist i figur 12.


Figur 12: Opretter forbindelse til MySQL-database med CLI

Giv derefter privilegier til MySQL-databaseinstansen på RDS til DMS-brugeren (dvohra).

GIV ÆNDRING, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE, SELECT ON *.* TO 'dvohra'@'%';GID ALLE PRIVILEGIER PÅ awsdms_control.* TO 'dvohra'@'%'; 

Brugerrettigheder indstilles, som vist i figur 13.


Figur 13: Tilføjelse af brugerrettigheder

Tilslutning til en PostgreSQL-database

For at oprette forbindelse til PostgreSQL-databasen på RDS fra en kommandoskal skal du hente databasen Endpoint fra RDS-dashboardet, som vist i figur 14.


Figur 14: Indhentning af PostgreSQL-databaseslutpunktet på RDS

Kør følgende kommando for at oprette forbindelse til PostgreSQL-databasen og starte en kommandolinjegrænseflade (CLI).

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

PostgreSQL-databasens kommandolinjegrænseflade (CLI) starter, som vist i figur 15.


Figur 15: Opretter forbindelse til PostgreSQL-database på RDS med en CLI

List skemaerne med dn kommando. Det offentlige skema bliver vist (se figur 16).


Figur 16: Listeskemaer

Konklusion

I denne anden af ​​fire selvstudier om migrering af en MySQL-databaseinstans på RDS til en Postgres-databaseinstans på RDS med AWS DMS oprettede vi forekomster af de to databaser på RDS og koblede til databaseinstanserne. I det næste selvstudie skal vi oprette en DMS-migrering.


  1. SQLite AVG

  2. Hvor gemmer PostgreSQL konfigurations-/conf-filer?

  3. Håndtering af ExecuteScalar() når ingen resultater returneres

  4. Hurtige tips til reparation og gendannelse af SQL-database uden sikkerhedskopiering