sql >> Databáze >  >> RDS >> Mysql

Migrace MySQL na PostgreSQL na AWS RDS, část 1

Databáze MySQL a databáze PostgreSQL jsou oba systémy správy relačních databází s otevřeným zdrojovým kódem (RDBMS), které se podle DBEngines.com umístily na 2. a 4. místě. Oba jsou implementovány v C (C++ se také používá pro databázi MySQL) a oba poskytují podobné funkce, jako je podpora XML, sekundární indexy, souběžnost, trvanlivost a uživatelsky definované funkce. PostgreSQL databáze poskytuje několik výhod, z nichž některé jsou následující:

  • Podporuje pokročilé datové typy, jako jsou vícerozměrná pole a uživatelem definované typy
  • Common Table Expressions (CTE) a funkce okna jsou dostupné od PostgreSQL 8.4, zatímco do MySQL byly přidány až ve verzi 8.0
  • Podporuje úplná vnější spojení
  • Podporuje VALUES seznamy pro generování „konstantní tabulky“, kterou lze použít v dotazu
  • Podporuje funkce pro vrácení sady generovat_series
  • Od verze 9.6 podporuje paralelní dotazy využívající více procesorů k rychlejšímu odpovídání na dotazy
  • Podporuje materializovaná zobrazení

Při migraci z MySQL na PostgreSQL databázi AWS poskytuje DMS (Database Migration Service) spolehlivou spravovanou službu s nulovými prostoji pro nepřetržitou replikaci dat. Ve čtyřech tutoriálech probereme migraci instance databáze MySQL do databáze PostgreSQL, obě běží na AWS Relational Database Service (RDS). Tento výukový program má následující sekce:

  • Nastavení prostředí
  • Vytvoření uživatele IAM pro DMS

Nastavení prostředí

Jedinou podmínkou je účet AWS, který lze vytvořit na tomto odkazu. Vytvořte hlavní šifrovací klíč služby KMS, který bude použit se službou DMS, pokud hlavní klíč ještě není k dispozici. Hlavní klíč KMS je vytvořen z IAM>šifrovacích klíčů přístrojová deska. V tomto kurzu jsme použili hlavní šifrovací klíč KMS nazvaný „dbms“.

Nainstalujte databázi MySQL a databázi PostgreSQL na místní počítač, abyste mohli používat aplikace klientského rozhraní pro připojení k instancím databáze MySQL a PostgreSQL na RDS.

Vytvoření uživatele IAM pro DMS

DMS je plně integrován s několika dalšími službami AWS, jako je RDS pro databáze, IAM pro správu identit a přístupu, KMS pro šifrování dat a CloudWatch pro protokolování. DMS také podporuje S3 (Simple Storage Service) jako cíl pro migraci. V této části vytvoříme uživatele IAM, který se používá s DMS k migraci instance databáze MySQL do databáze PostgreSQL. Uživatel IAM se vytvoří následovně:

  1. Vytvořte zásady IAM se všemi požadovanými oprávněními a prohlášeními o zásadách.
  2. Vytvořte uživatele IAM na základě zásad IAM.

Chcete-li vytvořit zásady IAM, klikněte na Vytvořit zásady v IAM Dashboard, jak je znázorněno na obrázku 1.


Obrázek 1: Vytvořit zásady

V části Vytvořit zásady průvodce, vyberte možnost Vytvořit vlastní zásady , jak je znázorněno na obrázku 2.


Obrázek 2: Výběr možnosti Vytvořit vlastní zásady

V části Zásady kontroly , zadejte Název zásady (DMS). Poté zkopírujte následující dokument zásad do Dokumentu zásad pole nebo 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": "*"
      }
   ]
}

Dokument zásad přidává oprávnění pro přístup ke CloudWatch pro protokolování a RDS pro databáze. Klikněte na Ověřit zásady a pokud je zpráva „Zásady jsou platné“, klikněte na Vytvořit zásady , jak je znázorněno na obrázku 3.


Obrázek 3: Vytvořit zásady

Pokud bude zásada vytvořena, měla by se zobrazit zpráva zobrazená na obrázku 4.


Obrázek 4: DMS byl vytvořen

Dále přidejte uživatele IAM. Vyberte možnost Uživatelé na panelu IAM a klikněte na Přidat uživatele , jak je znázorněno na obrázku 5.


Obrázek 5: Přidat uživatele

Zadejte Uživatelské jméno (dvohra). Poté vyberte obě uvedené možnosti pro Typ přístupu (viz obrázek 6).


Obrázek 6: Přidání podrobností uživatele

Vyberte Vlastní heslo možnost Heslo konzoly , zadejte heslo a klikněte na Další:Oprávnění , jak je znázorněno na obrázku 7.


Obrázek 7: Konfigurace typu přístupu

Dále nastavte oprávnění pro uživatele. Klikněte na Připojit existující zásady přímo , jak je znázorněno na obrázku 8.


Obrázek 8: Přímo připojte existující zásady

V části Typ zásady filtr, vyhledejte „DMS“, což je zásada vytvořená dříve. Vyberte zásady DMS, jak je znázorněno na obrázku 9, a klepněte na tlačítko Další.


Obrázek 9: Výběr zásad DMS

V části Recenze , zásady DMS by měly být uvedeny jako Spravované zásady v části Oprávnění souhrn. Klikněte na Vytvořit uživatele , jak je znázorněno na obrázku 10.


Obrázek 10: Vytvořit uživatele

Vytvoří se uživatel IAM (viz obrázek 11).


Obrázek 11: Uživatel IAM vytvořen

Uživatel IAM bude uveden v IAM>Uživatelé řídicí panel, jak je znázorněno na obrázku 12.


Obrázek 12: Uživatel IAM

Chcete-li se přihlásit jako vytvořený uživatel IAM, klikněte na odkaz pro daného uživatele a vyberte Bezpečnostní pověření a zkopírujte odkaz pro přihlášení do konzoly , jak je znázorněno na obrázku 13.


Obrázek 13: Odkaz pro přihlášení do konzole

Přihlaste se jako uživatel IAM vytvořený pomocí odkazu pro přihlášení do konzoly pro následující sekce.

Závěr

V tomto prvním ze čtyř výukových programů o migraci instance databáze MySQL na RDS do instance databáze Postgres na RDS jsme vytvořili uživatele IAM, který migraci provede.


  1. LOAD DATA INFILE Kód chyby:13

  2. Jak mohu inicializovat databázi MySQL se schématem v kontejneru Docker?

  3. Jak skrýt dekoraci sady výsledků ve výstupu Psql

  4. Jednoduchá parametrizace a triviální plány — 1. část