sql >> Database >  >> RDS >> Mysql

MySQL migreren naar PostgreSQL op AWS RDS, deel 1

MySQL-database en PostgreSQL-database zijn volgens DBEngines.com beide open source relationele databasebeheersystemen (RDBMS) gerangschikt op respectievelijk 2 en 4. Beide zijn geïmplementeerd in C (C++ wordt ook gebruikt voor MySQL-database) en beide bieden vergelijkbare functies, zoals XML-ondersteuning, secundaire indexen, gelijktijdigheid, duurzaamheid en door de gebruiker gedefinieerde functies. PostgreSQL-database biedt verschillende voordelen, waarvan enkele als volgt:

  • Ondersteunt geavanceerde gegevenstypen zoals multidimensionale arrays en door de gebruiker gedefinieerde typen
  • Common Table Expressions (CTE's) en Window-functies zijn beschikbaar sinds PostgreSQL 8.4, maar worden pas in versie 8.0 aan MySQL toegevoegd
  • Ondersteunt volledige outer joins
  • Ondersteunt VALUES-lijsten om een ​​'constante tabel' te genereren die in een zoekopdracht kan worden gebruikt
  • Ondersteunt set terugkerende functies generation_series
  • Ondersteunt parallelle zoekopdrachten die gebruikmaken van meerdere CPU's om zoekopdrachten sneller te beantwoorden sinds versie 9.6
  • Ondersteunt gematerialiseerde weergaven

Als u migreert van MySQL naar PostgreSQL-database AWS, biedt DMS (Database Migration Service) een betrouwbare beheerde service zonder downtime voor continue gegevensreplicatie. In vier zelfstudies bespreken we het migreren van een MySQL-database-instantie naar een PostgreSQL-database, beide draaiend op AWS Relational Database Service (RDS). Deze tutorial heeft de volgende secties:

  • De omgeving instellen
  • Een IAM-gebruiker voor DMS maken

De omgeving instellen

De enige vereiste is een AWS-account, dat via deze link kan worden aangemaakt. Maak een KMS-hoofdcoderingssleutel voor gebruik met DMS als er nog geen hoofdsleutel beschikbaar is. Er wordt een KMS-hoofdsleutel gemaakt op basis van de IAM>Encryptiesleutels dashboard. We hebben in deze zelfstudie een KMS-hoofdcoderingssleutel met de naam "dbms" gebruikt.

Installeer de MySQL-database en de PostgreSQL-database op een lokale computer om de clientinterfacetoepassingen te gebruiken om verbinding te maken met MySQL- en PostgreSQL-database-instanties op RDS.

Een IAM-gebruiker voor DMS maken

DMS is volledig geïntegreerd met verschillende andere AWS-services, zoals RDS voor databases, IAM voor identiteits- en toegangsbeheer, KMS voor gegevenscodering en CloudWatch voor logboekregistratie. DMS ondersteunt ook S3 (Simple Storage Service) als doel voor een migratie. In deze sectie zullen we een IAM-gebruiker maken die met DMS wordt gebruikt om een ​​MySQL-database-instantie naar de PostgreSQL-database te migreren. De IAM-gebruiker wordt als volgt aangemaakt:

  1. Maak een IAM-beleid met alle vereiste machtigingen en beleidsverklaringen.
  2. Maak een IAM-gebruiker aan op basis van het IAM-beleid.

Als u een IAM-beleid wilt maken, klikt u op Beleid maken in het IAM-dashboard, zoals weergegeven in afbeelding 1.


Figuur 1: Beleid maken

In het Beleid maken wizard, selecteer Uw eigen beleid maken , zoals weergegeven in afbeelding 2.


Figuur 2: De optie Maak uw eigen polis selecteren

In Reviewbeleid , specificeer een Beleidsnaam (DMS). Kopieer vervolgens het volgende beleidsdocument naar het Beleidsdocument veld of regio.

{
   "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": "*"
      }
   ]
}

Het beleidsdocument voegt machtigingen toe voor toegang tot CloudWatch voor logboekregistratie en RDS voor databases. Klik op Beleid valideren en als het bericht 'Het beleid is geldig' is, klikt u op Beleid maken , zoals weergegeven in afbeelding 3.


Figuur 3: Beleid maken

Als het beleid wordt gemaakt, zou het bericht in Afbeelding 4 moeten worden weergegeven.


Figuur 4: DMS is aangemaakt

Voeg vervolgens een IAM-gebruiker toe. Selecteer Gebruikers in het IAM-dashboard en klik op Gebruiker toevoegen , zoals weergegeven in afbeelding 5.


Figuur 5: Gebruiker toevoegen

Specificeer een Gebruikersnaam (dvohra). Selecteer vervolgens beide vermelde opties voor Toegangstype (zie afbeelding 6).


Figuur 6: Gebruikersdetails toevoegen

Selecteer het Aangepaste wachtwoord optie voor Console-wachtwoord , geef een wachtwoord op en klik op Volgende:machtigingen , zoals weergegeven in afbeelding 7.


Figuur 7: Toegangstype configureren

Stel vervolgens de rechten in voor de gebruiker. Klik op Bestaand beleid rechtstreeks bijvoegen , zoals weergegeven in afbeelding 8.


Figuur 8: Bestaand beleid direct bijvoegen

In het Beleidstype filter, zoek naar "DMS", het eerder gemaakte beleid. Selecteer het DMS-beleid zoals weergegeven in Afbeelding 9 en klik op Volgende.


Figuur 9: Het DMS-beleid selecteren

In Recensie , moet het DMS-beleid worden vermeld als Beheerd beleid in de Machtigingen samenvatting. Klik op Gebruiker maken , zoals weergegeven in afbeelding 10.


Figuur 10: Gebruiker maken

De IAM-gebruiker wordt aangemaakt (zie afbeelding 11).


Figuur 11: IAM-gebruiker gemaakt

De IAM-gebruiker wordt vermeld in de IAM>Gebruikers dashboard, zoals weergegeven in Afbeelding 12.


Figuur 12: IAM-gebruiker

Om in te loggen als de IAM-gebruiker die is gemaakt, klikt u op de link voor de gebruiker, selecteert u de Beveiligingsreferenties en kopieer de Console-aanmeldingslink , zoals weergegeven in Afbeelding 13.


Figuur 13: Console-aanmeldingslink

Log in als de IAM-gebruiker die is gemaakt met behulp van de Console-aanmeldingslink voor de volgende secties.

Conclusie

In deze eerste van vier tutorials over het migreren van een MySQL-database-instantie op RDS naar een Postgres-database-instantie op RDS, hebben we een IAM-gebruiker gemaakt om de migratie uit te voeren.


  1. Maak een gekoppelde server tussen twee Docker-containers met SQL Server (T-SQL-voorbeeld)

  2. Onmiddellijke bestandsinitialisatie:impact tijdens installatie

  3. krijg de JOIN-tabel als een reeks resultaten met PostgreSQL/NodeJS

  4. Galera Cluster Cloud-aanbiedingen vergelijken:deel twee Google Cloud Platform (GCP)