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

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

MySQL-database og PostgreSQL-database er begge open source relationsdatabasestyringssystemer (RDBMS) rangeret henholdsvis 2 og 4 ifølge DBEngines.com. Begge er implementeret i C (C++ bruges også til MySQL-database) og begge giver lignende funktioner, såsom XML-understøttelse, sekundære indekser, samtidighed, holdbarhed og brugerdefinerede funktioner. PostgreSQL-databasen giver flere fordele, hvoraf nogle er som følger:

  • Understøtter avancerede datatyper såsom flerdimensionelle arrays og brugerdefinerede typer
  • Common Table Expressions (CTE'er) og Window-funktioner har været tilgængelige siden PostgreSQL 8.4, mens de kun er blevet tilføjet til MySQL i version 8.0
  • Understøtter fulde ydre sammenføjninger
  • Understøtter VALUES lister til at generere en "konstant tabel", der kan bruges i en forespørgsel
  • Understøtter sæt returnerende funktioner generere_serier
  • Understøtter parallelle forespørgsler, der gør brug af flere CPU'er til at besvare forespørgsler hurtigere siden version 9.6
  • Understøtter materialiserede visninger

Ved migrering fra MySQL til PostgreSQL-database AWS, giver DMS (Database Migration Service) en pålidelig administreret service med nul nedetid til kontinuerlig datareplikering. I fire selvstudier skal vi diskutere migrering af en MySQL-databaseinstans til PostgreSQL-database, begge kører på AWS Relational Database Service (RDS). Denne øvelse har følgende sektioner:

  • Indstilling af miljøet
  • Oprettelse af en IAM-bruger til DMS

Indstilling af miljøet

Den eneste forudsætning er en AWS-konto, som kan oprettes på dette link. Opret en KMS-hovedkrypteringsnøgle, der skal bruges med DMS, hvis en hovednøgle ikke allerede er tilgængelig. En KMS-hovednøgle oprettes fra IAM>krypteringsnøglerne dashboard. Vi har brugt en KMS hovedkrypteringsnøgle kaldet "dbms" i denne vejledning.

Installer MySQL-databasen og PostgreSQL-databasen på en lokal maskine for at bruge klientgrænsefladeapplikationerne til at oprette forbindelse til MySQL- og PostgreSQL-databaseinstanser på RDS.

Oprettelse af en IAM-bruger til DMS

DMS er fuldt integreret med flere andre AWS-tjenester, såsom RDS til databaser, IAM til identitets- og adgangsstyring, KMS til datakryptering og CloudWatch til logning. DMS understøtter også S3 (Simple Storage Service) som et mål for en migrering. I dette afsnit skal vi oprette en IAM-bruger, der bruges sammen med DMS til at migrere en MySQL-databaseforekomst til PostgreSQL-databasen. IAM-brugeren oprettes som følger:

  1. Opret en IAM-politik med alle de nødvendige tilladelser og politikerklæringer.
  2. Opret en IAM-bruger baseret på IAM-politikken.

For at oprette en IAM-politik skal du klikke på Opret politik i IAM Dashboard, som vist i figur 1.


Figur 1: Opret politik

I Opret politik guiden, skal du vælge Opret din egen politik , som vist i figur 2.


Figur 2: Valg af indstillingen Opret din egen politik

I Gennemgå politik , angiv et Politiknavn (DMS). Kopier derefter følgende politikdokument til Politikdokumentet felt eller region.

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Action": "dms:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "s3:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "ds:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "rds:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "kms:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "iam:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "ec2:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "cloudwatch:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "aws-marketplace:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "logs:*",
         "Resource": "*"
      }
   ]
}

Politikdokumentet tilføjer tilladelser til at få adgang til CloudWatch til logning og RDS til databaser. Klik på Valider politik og hvis meddelelsen er "Politikken er gyldig", skal du klikke på Opret politik , som vist i figur 3.


Figur 3: Opret politik

Hvis politikken bliver oprettet, skulle meddelelsen vist i figur 4 blive vist.


Figur 4: DMS er blevet oprettet

Tilføj derefter en IAM-bruger. Vælg Brugere i IAM-dashboardet, og klik på Tilføj bruger , som vist i figur 5.


Figur 5: Tilføj bruger

Angiv et Brugernavn (dvohra). Vælg derefter begge de angivne muligheder for Adgangstype (se figur 6).


Figur 6: Tilføjer brugerdetaljer

Vælg Tilpasset adgangskode mulighed for Konsoladgangskode , angiv en adgangskode, og klik på Næste:Tilladelser , som vist i figur 7.


Figur 7: Konfiguration af adgangstype

Indstil derefter tilladelser for brugeren. Klik på Vedhæft eksisterende politikker direkte , som vist i figur 8.


Figur 8: Vedhæft eksisterende politikker direkte

I Politiktype filter, søg efter "DMS", som er den tidligere oprettede politik. Vælg DMS-politikken som vist i figur 9, og klik på Næste.


Figur 9: Valg af DMS-politikken

I Anmeldelse , skal DMS-politikken være angivet som Administreret politik i Tilladelser Resumé. Klik på Opret bruger , som vist i figur 10.


Figur 10: Opret bruger

IAM-brugeren oprettes (se figur 11).


Figur 11: IAM-bruger oprettet

IAM-brugeren bliver opført i IAM>Brugere dashboard, som vist i figur 12.


Figur 12: IAM-bruger

For at logge ind som den oprettede IAM-bruger skal du klikke på linket til brugeren, vælge Sikkerhedsoplysningerne fanen, og kopier login-linket til konsol , som vist i figur 13.


Figur 13: Konsol login link

Log ind som den IAM-bruger, der er oprettet ved hjælp af linket til konsollogin for efterfølgende sektioner.

Konklusion

I denne første af fire selvstudier om migrering af en MySQL-databaseinstans på RDS til en Postgres-databaseinstans på RDS oprettede vi en IAM-bruger til at udføre migreringen.


  1. Er Oracles SYS_GUID() UUID RFC 4122 kompatibel?

  2. Sådan eksporteres en liste over sammenkædede tabeller til Excel fra Access 2016

  3. Henter komplette fejlmeddelelser i isql

  4. VENSTRE JOIN kun første række