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

Migrace databáze MySQL z CloudSQL na AWS RDS

Google CloudSQL je spravovaná služba pro databáze s podporou MySQL a PostgreSQL. CloudSQL je integrovatelný s některými dalšími službami Google Cloud Platform, včetně replikace dat ve více zónách s automatickým převzetím služeb při selhání. V tomto článku budeme diskutovat o migraci instance databáze MySQL z Google CloudSQL na AWS RDS pomocí Database Migration Service (DMS). Tento článek má následující sekce:

  • Nastavení prostředí
  • Vytvoření instance MySQL RDS DB
  • Připojení k databázi MySQL na RDS
  • Vytvoření projektu Google Cloud Platform
  • Vytvoření instance CloudSQL
  • Přidání trasy pro IP adresu instance CloudSQL DB do tabulky směrování VPC
  • Vytvoření instance replikace DMS
  • Přidání sítě pro připojení instance replikace do instance CloudSQL DB
  • Vytvoření koncových bodů replikace databáze
  • Vytvoření úlohy replikace
  • Spuštění úlohy replikace
  • Prozkoumání migrovaných tabulek
  • Prozkoumání protokolů CloudWatch
  • Smazání migrace
  • Odstranění instancí DB
  • Závěr

Nastavení prostředí

Je vyžadován fakturační účet Google Cloud Platform. Účet Google Cloud Platform Free Tier poskytuje bezplatnou zkušební verzi na první rok. Vyžaduje se také účet AWS; toto lze vytvořit na https://aws.amazon.com/resources/create-account/.

Vytvoření instance MySQL RDS DB

Protože budeme migrovat databázi MySQL z CloudSQL na AWS RDS, musíme vytvořit instanci databáze MySQL na RDS. Přejděte na RDS na https://aws.amazon.com/rds a v průvodci RDS vyberte engine jako MySQL, jak je znázorněno na obrázku 1.


Obrázek 1: Výběr databázového stroje MySQL

V části Produkce? , vyberte Vývoj/Test , jak je znázorněno na obrázku 2.


Obrázek 2: Výběrem možnosti Vývoj a testování

V části Zadat podrobnosti DB , zaškrtněte políčko Zobrazit pouze možnosti, které jsou způsobilé pro bezplatnou úroveň RDS , jak je znázorněno na obrázku 3. Vyberte Licenční model jako obecnou veřejnou licenci. Vyberte verzi DB Engine jako MySQL 5.6.35. Pro cíl DMS jsou podporovány verze MySQL 5.5, 5.6 a 5.7. Vyberte DB Instance Class jako db.t2.micro, který má kapacitu 1 vCPU a 1 GB RAM. Vyberte možnost Multi-AZ Deployment jako Ne. Vyberte Typ úložiště jako General Purpose (SSD) a přidělené úložiště jako 5 GB.


Obrázek 3: Zadejte podrobnosti DB

V nastavení databáze zadejte identifikátor instance DB (mysqldb), hlavní uživatelské jméno a hlavní heslo, jak je znázorněno na obrázku 4. Klikněte na Další krok.


Obrázek 4: Zadání nastavení databáze

V Configure Advanced Settings vyberte VPC, jak je znázorněno na obrázku 5. Migrace DMS bude vytvořena ve stejném VPC jako instance RDS DB. Nastavte zónu dostupnosti jako us-východ-1b. Vyberte možnost Vytvořit novou skupinu zabezpečení. V Možnostech databáze zadejte Název databáze (mysqldb). Zadejte databázový port (3306) a vyberte skupinu parametrů DB.


Obrázek 5: Konfigurace pokročilých nastavení

Většina nebo všechna ostatní nastavení – včetně skupiny možností, Povolit ověřování IAM DB, Povolit šifrování, Zálohování a Sledování – mohou být ponechány jako výchozí (viz obrázek 6). Pro MySQL na RDS jako zdroj DMS je nutné povolit automatické zálohování. Klikněte na Spustit instanci DB .


Obrázek 6: Spusťte DB Instance

Začne se vytvářet nová instance DB, jak ukazuje zpráva na obrázku 7. Kliknutím na Zobrazit vaše instance DB zobrazíte instance DB.


Obrázek 7: Vaše instance DB se vytváří

Spustí se nová instance databáze MySQL na RDS, jak je znázorněno na obrázku 8.


Obrázek 8: Instance MySQL DB na RDS

Kliknutím na odkaz Security Group, jak je znázorněno na obrázku 9, upravte pravidla příchozího/odchozího hovoru tak, aby povolovala provoz z/na všechny IP adresy.


Obrázek 9: Odkaz na bezpečnostní skupinu

Vyberte kartu Příchozí a kliknutím na tlačítko Upravit upravte příchozí pravidla, jak je znázorněno na obrázku 10.


Obrázek 10: Úprava příchozích pravidel

V Edit Inbound rules nastavte Type na All Traffic, Protocol na All, Port Range na 0-65535, Source na Anywhere a klikněte na Save (viz obrázek 11).


Obrázek 11: Upravit příchozí pravidla

Upravená příchozí pravidla jsou zobrazena na obrázku 12.


Obrázek 12: Příchozí pravidla

Odchozí pravidla není nutné upravovat, protože jsou již nastavena tak, aby umožňovala provoz na všechny cílové IP adresy, jak je znázorněno na obrázku 13.


Obrázek 13: Odchozí pravidla

Připojení k databázi MySQL na RDS

Získejte hostitele instance RDS DB z koncového bodu; adresa hostitele je koncový bod s odstraněnou příponou portu :3306. Připojte se k instanci databáze MySQL na RDS pomocí adresy hostitele a portu pomocí následujícího příkazu mysql a spusťte rozhraní příkazového řádku MySQL.

mysql --host=mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com --port=3306 --user=dvohra --password=mysql5db

Hostitel, uživatel a heslo by se pro různé uživatele lišilo. Udělte přístup k účtu MySQL uživateli DMS pomocí následujících příkazů, ve kterých by se uživatel DMS pro různé uživatele lišil.

UDĚLEJTE ZMĚNIT, VYTVOŘIT, ZAPNOUT, INDEXOVAT, VLOŽIT, AKTUALIZOVAT, ODSTRANIT, VYBRAT NA mysqldb.* TOMU 'dvohra'@'%';UDĚLIT VŠECHNA PRIVILEGIA NA awsdms_control.* TOMU 'dvohra'@'%'; 

Vytvoření projektu Google Cloud Platform

Chcete-li používat CloudSQL, musíte vytvořit projekt Google Cloud Platform. Chcete-li vytvořit projekt, klikněte na Vytvořit prázdný projekt na stránce Začínáme, jak je znázorněno na obrázku 14.


Obrázek 14: Vytvořte prázdný projekt

V Novém projektu průvodce, zadejte Název projektu (MySQLDB) a klikněte na Vytvořit , jak je znázorněno na obrázku 15.


Obrázek 15: Nový projekt

Vytvoří se nový projekt, jak je znázorněno na řídicím panelu na obrázku 16.


Obrázek 16: Nový projekt Google Cloud Platform

Vytvoření instance CloudSQL

V této části vytvoříme instanci CloudSQL. V prohlížeči přejděte na adresu URL CloudSQL https://cloud.google.com/sql/, jak je znázorněno na obrázku 17. Klikněte na Zobrazit konzolu.


Obrázek 17: Zobrazit konzolu

Vyberte MySQLDB projektu a klikněte na Vytvořit instanci , jak je znázorněno na obrázku 18.


Obrázek 18: Vytvořit instanci

V části Vytvořit instanci průvodce, vyberte MySQL a klikněte na Další , jak je znázorněno na obrázku 19.


Obrázek 19: Výběr motoru jako MySQL

V části Vyberte typ instance MySQL , klikněte na Vybrat druhou generaci vyberte typ instance MySQL Second Generation, jak ukazuje Obrázek 20. Jsou zde také uvedeny některé výhody typu instance Second Generation.


Obrázek 20: Výběr instance MySQL druhé generace

V části Vytvoření instance MySQL druhé generace (viz obrázek 21), zadejte ID instance a heslo uživatele root a vyberte Region a Zóna. Klikněte na Vytvořit .


Obrázek 21: Vytvořte instanci MySQL druhé generace

Začne se vytvářet instance MySQL, jak je znázorněno v tabulce Instance na obrázku 22.


Obrázek 22: Instance CloudSQL MySQL

Přidání trasy pro IP adresu instance CloudSQL DB do tabulky směrování VPC

Potřebujeme upravit Route Table pro VPC, ve kterém je vytvořena instance RDS DB a migrace DMS, aby umožnila přístup k IP adrese instance CloudSQL. Nejprve získejte IP adresu instance CloudSQL z konzoly CloudSQL, jak je znázorněno na obrázku 23.


Obrázek 23: IP adresa instance CloudSQL DB

Klikněte na Tabulku trasy odkaz, jak je znázorněno na obrázku 24, pro VPC, ve kterém je vytvořena instance RDS DB a následně bude vytvořen DMS.


Obrázek 24: Odkaz na tabulku trasy

Vyberte uvedenou trasu a klikněte na Upravit, jak ukazuje Obrázek 25.


Obrázek 25: Trasa>Upravit

Klikněte na Přidat další trasu (viz obrázek 26).


Obrázek 26: Přidat další trasu

Zadejte IP adresu instance CloudSQL v Destination, jak je znázorněno na obrázku 27.


Obrázek 27: Zadání cíle jako IP adresy instance CloudSQL

Vyberte Cíl jako internetovou bránu spojenou s VPC, jak je znázorněno na obrázku 28. Internetová brána umožňuje komunikaci mezi instancemi ve VPC a internetem.


Obrázek 28: Výběr cíle jako internetové brány

Klepnutím na tlačítko Uložit trasu uložíte. Přidá se trasa, jak je znázorněno na obrázku 29.


Obrázek 29: Trasa pro instanci CloudSQL

Vytvoření instance replikace DMS

V této části vytvoříme replikační instanci pro migraci instance CloudSQL do RDS. Klikněte na Vytvořit migraci na úvodní stránce Database Migration Service, jak ukazuje Obrázek 30.


Obrázek 30: Vytvořit migraci

Na úvodní stránce klikněte na Další (viz Obrázek 31).


Obrázek 31: Uvítací stránka>Další

V Vytvořit instanci replikace zadejte název a popis, jak ukazuje Obrázek 32. Vyberte třídu instance jako dms.t2.medium. Vyberte verzi modulu replikace jako 2.2.1. Vyberte stejný VPC, ve kterém byla vytvořena instance RDS DB. Vyberte Multi-AZ A No. Zaškrtněte políčko Publicly Accessible.


Obrázek 32: Konfigurace instance replikace

V části Upřesnit zadejte přidělené úložiště (50 GB), vyberte skupinu podsítí replikace a vyberte zónu dostupnosti stejně jako pro instanci RDS DB, us-východ-1b, jak je znázorněno na obrázku 33. Vyberte výchozí skupinu zabezpečení VPC. Vyberte hlavní klíč KMS vytvořený pro DMS.


Obrázek 33: Konfigurace pokročilých možností

Vyberte výchozí nastavení údržby a klepněte na tlačítko Další, jak ukazuje Obrázek 34.


Obrázek 34: Instance replikace>Další

Zobrazí se zpráva „Vaše instance replikace se vytváří“, jak ukazuje Obrázek 35. Koncové body zdrojové a cílové databáze lze konfigurovat až po vytvoření instance replikace.


Obrázek 35: Vaše instance replikace se vytváří

Po vytvoření instance replikace se zobrazí zpráva „Instance replikace byla úspěšně vytvořena“ (viz Obrázek 36).


Obrázek 36: Instance replikace byla úspěšně vytvořena

Instance replikace uvádí nově vytvořenou instanci replikace, jak ukazuje Obrázek 37.


Obrázek 37: Instance replikace

Přidání sítě pro připojení instance replikace do instance CloudSQL DB

Nejprve určete IP adresu, na které běží instance replikace. Adresu IP lze získat z konzoly instance Replication, jak ukazuje Obrázek 38.


Obrázek 38: IP adresa pro instanci replikace

Po získání IP adresy dále přidáme síť skládající se z IP adresy do instance MySQL na CloudSQL. Klikněte na odkaz instance CloudSQL MySQL, jak je znázorněno na obrázku 39.


Obrázek 39: CloudSQL MySQL DB instance

Klikněte na Authorization MySQL Database Instance stránku s podrobnostmi, jak je znázorněno na obrázku 40.


Obrázek 40: Autorizace

Klikněte na Přidat síť (viz obrázek 41).


Obrázek 41: Přidat síť

V Nová síť , zadejte název sítě a adresu IP sítě jako adresu IP instance replikace, jak ukazuje Obrázek 42, a klikněte na Hotovo.


Obrázek 42: Přidání nové sítě do CloudSQL

Přidá se nová síť, jak ukazuje Obrázek 43. Klikněte na Uložit pro uložení sítě.


Obrázek 43: Ukládání nové sítě

Zobrazí se zpráva „Instance is being updated“, jak je znázorněno na obrázku 44.


Obrázek 44: Instance se aktualizuje

Když byla instance aktualizována, ikona instance ukazuje totéž, jak je znázorněno na obrázku 45.


Obrázek 45: Instance aktualizována

Klepnutím na Přehled (viz Obrázek 46) zobrazíte přehled instance.


Obrázek 46: Přehled

Nová síť bude uvedena v seznamu Autorizované sítě na stránce Podrobnosti o instanci stránku, jak je znázorněno na obrázku 47.


Obrázek 47: Autorizované sítě

Vytvoření koncových bodů replikace databáze

Dále vytvoříme zdrojové a cílové koncové body databáze. Zadejte identifikátory koncových bodů pro zdrojové a cílové databáze. Pro zdrojový modul vyberte mysql , jak je znázorněno na obrázku 48.


Obrázek 48: Výběr zdrojového modulu jako mysql

Vyberte Cílový stroj jako mysql také, jak je znázorněno na obrázku 49.


Obrázek 49: Výběr cílového modulu jako mysql

Pro název zdrojového serveru zkopírujte adresu IPv4 instance CloudSQL, jak je znázorněno na obrázku 50.


Obrázek 50: Adresa IPv4 instance CloudSQL

Pro cílovou databázi zadejte název serveru jako Koncový bod mínus přípona portu „:3306“ pro instanci RDS DB pro databázi MySQL (viz Obrázek 51). Zadejte port pro zdrojovou a cílovou databázi jako 3306. Vyberte režim SSL jako žádný pro zdrojová i cílová připojení. Zadejte uživatelské jméno pro zdrojovou databázi jako root a heslo podle nastavení při vytváření instance CloudSQL. Podobně nastavte uživatelské jméno a heslo pro cílovou databázi na RDS.


Obrázek 51: Konfigurace podrobností o připojení zdroje a cílové databáze

V části Upřesnit ve zdrojové i cílové databázi vyberte hlavní klíč KMS dms, který byl vytvořen pro DMS. Klikněte na Spustit test , jak je znázorněno na obrázku 52, pro připojení zdroje. Podobně klikněte na Spustit test pro cílové připojení.


Obrázek 52: Spustit test

Pokud je výsledkem testu „Připojení bylo úspěšně otestováno“ pro připojení ke zdrojové i cílové databázi, klikněte na tlačítko Další, jak je znázorněno na obrázku 53.


Obrázek 53: Testování připojení

Vytvoření úlohy replikace

V části Vytvořit úlohu zadejte název úlohy a popis úlohy, jak ukazuje Obrázek 54. Zdrojový koncový bod, Cílový koncový bod a Instance replikace jsou pevně zakódovány. Vyberte Typ migrace jako Migrovat existující data. Zaškrtněte políčko Spustit úlohu při vytvoření.


Obrázek 54: Vytvořit úkol

V Nastavení úlohy vyberte/nastavte Režim přípravy cílového stolu jako Nedělat nic , Zahrnout do replikace sloupce LOB jako Omezený režim LOB a maximální velikost LOB je 32 kb, jak je znázorněno na obrázku 55. Vyberte možnost Povolit protokolování možnost.


Obrázek 55: Nastavení úkolu

V Mapování tabulek , znázorněné na obrázku 56, je třeba přidat alespoň jedno pravidlo výběru.


Obrázek 56: Tabulková mapování

Vyberte možnost Zadat schéma možnost v Název schématu je pole. Zadejte Název schématu je podobný mysql , jak je znázorněno na obrázku 57. Zadejte Název tabulky je podobný innodb_index_stats. Vyberte Akce jako Zahrnout . Klikněte na Přidat pravidlo výběru .


Obrázek 57: Přidání pravidla výběru

Chcete-li přidat další pravidlo výběru, klikněte na přidat pravidlo výběru odkaz, jak je znázorněno na obrázku 58.


Obrázek 58: Přidat pravidlo výběru

Přidejte pravidlo výběru pro zahrnutí tabulky mysql.innodb_table_stats , jak je znázorněno na obrázku 59.


Obrázek 59: Přidání pravidla výběru pro mysql.innodb_table_stats

Mohou být přidána pravidla výběru, jedno pro každou tabulku, nebo pomocí regulárního výrazu se zástupnými znaky. Dále použijeme % k přidání pravidla výběru. Klikněte na přidat pravidlo výběru , jak je znázorněno na obrázku 60.


Obrázek 60: Přidat odkaz na pravidlo výběru

Zadejte Schéma jako mysql a zadejte Název tabulky jako time_zone% , který představuje všechny tabulky začínající „time_zone“ (viz Obrázek 61).


Obrázek 61: Přidání pravidla výběru pro zahrnutí všech tabulek do schématu mysql počínaje time_zone

Klikněte na Vytvořit úkol k vytvoření úkolu, jak je znázorněno na obrázku 62.


Obrázek 62: Vytvořit úkol

Přidá se nový úkol se stavem Vytváří se zpočátku, jak ukazuje Obrázek 63. Klikněte na Obnovit data ze serveru pravidelně obnovovat stav úlohy.


Obrázek 63: Úkol přidán se stavem Vytváření

Když je úloha vytvořena a je připravena ke spuštění, stav se změní na Připraveno, jak je znázorněno na obrázku 64.


Obrázek 64: Stav úlohy Připraveno

Spuštění úlohy replikace

Chcete-li spustit instanci replikace, klepněte na tlačítko Spustit/Pokračovat, jak ukazuje Obrázek 65.


Obrázek 65: Start/Resume

Stav úlohy se změní na Spouštění (viz obrázek 66). Pravidelně klikněte na tlačítko Obnovit data ze serveru tlačítko pro obnovení stavu, jak je znázorněno na obrázku 66.


Obrázek 66: Stav úlohy Spouštění

Stav úlohy se změní na Spuštěno když se úloha spustí. Po dokončení úplného načtení se stav změní na Načítání dokončeno , jak je znázorněno na obrázku 67.


Obrázek 67: Načítání dokončeno

Prozkoumání migrovaných tabulek

Tabulky načteny sloupec má hodnotu 7 pro sedm migrovaných tabulek, jak ukazuje obrázek 68.


Obrázek 68: Bylo migrováno sedm tabulek

Chcete-li zjistit podrobnosti o migrovaných tabulkách, vyberte Statistiky tabulek viz Obrázek 69.


Obrázek 69: Tabulkové statistiky

Zobrazí se seznam všech tabulek, které byly migrovány, jak ukazuje Obrázek 70.


Obrázek 70: Tabulky byly migrovány

Prozkoumání protokolů CloudWatch

Chcete-li prozkoumat protokoly CloudWatch, klikněte na odkaz v Protokolech (viz Obrázek 71).


Obrázek 71: Odkaz na protokoly

Protokoly CloudWatch obsahují záznam protokolu pro každou migrovanou tabulku, jak ukazuje Obrázek 72. Po migraci všech tabulek, které byly nakonfigurovány pomocí pravidel výběru a transformace, se přidá položka protokolu „Všechny tabulky jsou načteny“.


Obrázek 72: Protokoly CloudWatch

Po načtení všech tabulek bude záznam protokolu Správa úloh ukončena se přidá, jak je znázorněno na obrázku 73.


Obrázek 73: Správa úloh ukončena

Odstranění migrace

Chcete-li odstranit migraci, postup je opačný než při vytváření migrace.

  1. Smažte úlohy migrace.
  2. Smažte koncové body databáze.
  3. Smažte instanci replikace.

Chcete-li úlohu odstranit, vyberte ji a klepněte na Odstranit, jak ukazuje Obrázek 74.


Obrázek 74: Úkol>Odstranit

V dialogovém okně Odstranit úlohu klikněte na Odstranit, jak ukazuje Obrázek 75.


Obrázek 75: Dialogové okno potvrzení smazání úlohy

Stav úkolu se změní na Mazání (viz obrázek 76).


Obrázek 76: Mazání úlohy

Chcete-li odstranit koncové body, vyberte koncové body a klepněte na Odstranit, jak je znázorněno na obrázku 77.


Obrázek 77: Endpoints>Smazat

V části Smazat koncový bod v potvrzovacím dialogu klikněte na Odstranit, jak ukazuje Obrázek 78.


Obrázek 78: Dialogové okno potvrzení smazání koncového bodu

Stav pro koncové body se změní na Odstranění, jak ukazuje Obrázek 79.


Obrázek 79: Odstranění koncových bodů

Chcete-li odstranit instanci replikace, vyberte instanci replikace a klepněte na Odstranit, jak je znázorněno na obrázku 80.


Obrázek 80: Instance replikace>Odstranit

V Odstranit instanci replikace potvrzovacím dialogu klikněte na Odstranit (viz Obrázek 81).


Obrázek 81: Dialogové okno potvrzení Odstranit instanci replikace

Stav instance replikace se změní na Odstranění, jak ukazuje Obrázek 82.


Obrázek 82: Odstranění instance replikace

Odstranění instancí DB

Dále odstraňte zdrojovou a cílovou databázi. Chcete-li odstranit cílovou databázi, což je databáze MySQL na RDS, vyberte instanci databáze v tabulce Všechny instance a klikněte na Akce s instancí>Odstranit, jak ukazuje Obrázek 83.


Obrázek 83: Akce instance>Odstranit

V instanci Odstranit DB vyberte možnost nevytvářet konečný snímek a zaškrtněte políčko potvrzení a klikněte na Odstranit, jak ukazuje Obrázek 84.


Obrázek 84: Smazat dialogové okno instance DB

Instance RDS DB se začne odstraňovat, jak ukazuje stav mazání na obrázku 85.


Obrázek 85: Odstranění instance RDS DB

Chcete-li odstranit instanci CloudSQL DB, klikněte pravým tlačítkem na mysql ikonu správy instance DB a vyberte Odstranit (viz Obrázek 86).


Obrázek 86: CloudSQL mysql>Odstranit

V Smazat instanci? potvrzovacím dialogu zadejte do poskytnutého pole název instance, abyste potvrdili, že instance má být odstraněna, a klepněte na Odstranit, jak ukazuje Obrázek 87.


Obrázek 87: Dialogové okno potvrzení smazání instance

Závěr

V tomto článku jsme diskutovali o migraci MySQL na CloudSQL na AWS RDS pomocí AWS Database Migration Service.


  1. Jak objednávat podle názvu měsíce v SQLite

  2. 3 způsoby, jak získat název dne z data v MariaDB

  3. Co je to přesně BLOB v kontextu DBMS

  4. System.Data.OracleClient vyžaduje klientský software Oracle verze 8.1.7 nebo vyšší