MySQL-databas och PostgreSQL-databas är båda open source relationsdatabashanteringssystem (RDBMS) rankade 2 respektive 4, enligt DBEngines.com. Båda är implementerade i C (C++ används också för MySQL-databas) och båda ger liknande funktioner, såsom XML-stöd, sekundära index, samtidighet, hållbarhet och användardefinierade funktioner. PostgreSQL-databas ger flera fördelar, av vilka några är följande:
- Stöder avancerade datatyper som flerdimensionella arrayer och användardefinierade typer
- Common Table Expressions (CTE) och Window-funktioner har varit tillgängliga sedan PostgreSQL 8.4, men de har bara lagts till i MySQL i version 8.0
- Stöder fullständiga yttre anslutningar
- Stöder VALUES listor för att generera en "konstant tabell" som kan användas i en fråga
- Stöder set returnerande funktioner generera_serier
- Stöder parallella frågor som använder flera processorer för att svara på frågor snabbare sedan version 9.6
- Stöder materialiserade vyer
Om du migrerar från MySQL till PostgreSQL-databasen AWS, tillhandahåller DMS (Database Migration Service) en pålitlig hanterad tjänst med noll stilleståndstid för kontinuerlig datareplikering. I fyra handledningar kommer vi att diskutera migrering av en MySQL-databasinstans till PostgreSQL-databas, båda körs på AWS Relational Database Service (RDS). Denna handledning har följande avsnitt:
- Ställa in miljön
- Skapa en IAM-användare för DMS
Ställa in miljön
Den enda förutsättningen är ett AWS-konto, som kan skapas på denna länk. Skapa en KMS huvudkrypteringsnyckel som ska användas med DMS om en huvudnyckel inte redan är tillgänglig. En KMS-huvudnyckel skapas från IAM>krypteringsnycklarna instrumentbräda. Vi har använt en KMS huvudkrypteringsnyckel som heter "dbms" i denna handledning.
Installera MySQL-databasen och PostgreSQL-databasen på en lokal maskin för att använda klientgränssnittsapplikationerna för att ansluta till MySQL- och PostgreSQL-databasinstanser på RDS.
Skapa en IAM-användare för DMS
DMS är helt integrerat med flera andra AWS-tjänster, såsom RDS för databaser, IAM för identitets- och åtkomsthantering, KMS för datakryptering och CloudWatch för loggning. DMS stöder även S3 (Simple Storage Service) som mål för en migrering. I det här avsnittet ska vi skapa en IAM-användare som används med DMS för att migrera en MySQL Database-instans till PostgreSQL-databas. IAM-användaren skapas enligt följande:
- Skapa en IAM-policy med alla nödvändiga behörigheter och policyuttalanden.
- Skapa en IAM-användare baserat på IAM-policyn.
Om du vill skapa en IAM-policy klickar du på Skapa policy i IAM Dashboard, som visas i figur 1.
Figur 1: Skapa policy
I Skapa policy guiden väljer du Skapa din egen policy , som visas i figur 2.
Figur 2: Välja alternativet Skapa din egen policy
I Granska policy , ange ett policynamn (DMS). Kopiera sedan följande policydokument till policydokumentet fält 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": "*" } ] }
Policydokumentet lägger till behörigheter för åtkomst till CloudWatch för loggning och RDS för databaser. Klicka på Validera policy och, om meddelandet är "Policen är giltig", klicka på Skapa policy , som visas i figur 3.
Figur 3: Skapa policy
Om policyn skapas bör meddelandet som visas i figur 4 visas.
Figur 4: DMS har skapats
Lägg sedan till en IAM-användare. Välj Användare i IAM-instrumentpanelen och klicka på Lägg till användare , som visas i figur 5.
Figur 5: Lägg till användare
Ange ett Användarnamn (dvohra). Välj sedan båda de angivna alternativen för Åtkomsttyp (se figur 6).
Figur 6: Lägger till användardetalj
Välj Anpassat lösenord alternativ för Konsollösenord , ange ett lösenord och klicka på Nästa:Behörigheter , som visas i figur 7.
Figur 7: Konfigurera åtkomsttyp
Ange sedan behörigheter för användaren. Klicka på Bifoga befintliga policyer direkt , som visas i figur 8.
Figur 8: Bifoga befintliga policyer direkt
I Policytyp filter, sök efter "DMS", vilket är policyn som skapades tidigare. Välj DMS-policyn som visas i figur 9 och klicka på Nästa.
Figur 9: Välja DMS-policy
I Recension , bör DMS-policyn anges som hanterad policy i Behörigheter sammanfattning. Klicka på Skapa användare , som visas i figur 10.
Figur 10: Skapa användare
IAM-användaren skapas (se figur 11).
Figur 11: IAM-användare skapad
IAM-användaren listas i IAM>Användare instrumentpanelen, som visas i figur 12.
Figur 12: IAM-användare
För att logga in som den skapade IAM-användaren, klicka på länken för användaren, välj Säkerhetsuppgifter och kopiera inloggningslänken till konsolen , som visas i figur 13.
Figur 13: Inloggningslänk till konsolen
Logga in som den IAM-användare som skapades med hjälp av konsollänken för inloggning för efterföljande avsnitt.
Slutsats
I denna första av fyra handledningar om att migrera en MySQL-databasinstans på RDS till en Postgres-databasinstans på RDS skapade vi en IAM-användare för att utföra migreringen.