sql >> Databasteknik >  >> RDS >> Mysql

Migrera MySQL till PostgreSQL på AWS RDS, del 1

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:

  1. Skapa en IAM-policy med alla nödvändiga behörigheter och policyuttalanden.
  2. 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.


  1. Så här löser du ORA-00900

  2. HA för MySQL och MariaDB - Jämför Master-Master-replikering med Galera Cluster

  3. Hur man listar alla lagrade procedurer i Oracle Database

  4. Exportera data från SQL Server till Excel och textfil via SSIS-paketet