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:
- Opret en IAM-politik med alle de nødvendige tilladelser og politikerklæringer.
- 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.