Migrace aplikací

Dokončeno

Po migraci databáze z místního prostředí do Azure je potřeba aktualizovat stávající aplikace, aby mohly přistupovat k MySQL v novém umístění.

Původní místní server a databáze budou obsahovat role, které definují oprávnění přidružená k uživatelům, operace, které můžou provádět, a objekty, které tyto operace provádějí. Azure Database for MySQL používá stejné mechanismy ověřování a autorizace jako PostgreSQL spuštěné místně.

V této lekci prozkoumáte aktualizace, které je potřeba provést v aplikacích pro připojení k nově migrované službě Azure Database for MySQL.

Ruční vytvoření uživatelů

Původní místní server a databáze budou obsahovat uživatele, operace, které provádějí, a objekty, u kterých tyto operace provádějí. Azure Database for MySQL používá stejné mechanismy ověřování a autorizace jako MySQL spuštěné místně.

Při přenosu databáze MySQL do služby Azure Database for MySQL pomocí služby Azure Database Migration Service se uživatelé nezkopírují. Musíte ručně znovu vytvořit potřebné uživatelské účty pro správce a uživatele tabulek v cílové databázi. K provedení těchto úloh použijete jazyk SQL nebo nástroj, jako je Například MySQL Workbench. Spusťte příkaz CREATE USER. Pomocí GRANT příkazu přiřadíte uživateli potřebná oprávnění. Příklad:

CREATE USER 'myuseraccount'@'%' IDENTIFIED BY 'mY!P@ss0rd';
GRANT ALL PRIVILEGES ON DATABASE [Database Name].* TO myuseraccount;
FLUSH PRIVILEGES;

Pokud chcete zobrazit existující granty v místní databázi, spusťte následující příkaz SQL:

USE [Database Name];

SHOW GRANTS FOR 'myuseraccount'@'%';;

Změna konfigurace aplikací

Změna konfigurace aplikace pro připojení ke službě Azure Database for MySQL je jednoduchý proces. Je ale důležité vytvořit strategii pro migraci aplikací.

Důležité informace o změně konfigurace aplikací MySQL

V podnikovém prostředí můžete mít mnoho aplikací spuštěných ve stejných databázích MySQL. Na těchto aplikacích může běžet velký počet uživatelů. Chcete mít jistotu, že když přepnete ze stávajícího systému na Azure Database for MySQL, budou vaše systémy i nadále fungovat, uživatelé můžou pokračovat v práci a důležité obchodní operace zůstanou funkční. Modul 1, lekce 2, Důležité informace o migraci, probíraly mnoho obecných problémů.

Při migraci databáze MySQL do Azure je potřeba vzít v úvahu některé konkrétní informace:

  • Pokud provádíte offline migraci, můžou se data v původní databázi MySQL a nové databáze spuštěné v Azure rychle lišit, pokud se stará databáze stále používá. Offline migrace je vhodná, když po krátkou dobu zcela vypnete provoz systému a pak před opětovným spuštěním přepnete všechny aplikace do nového systému. Tento přístup nemusí být pro systém kritický pro chod firmy možný. Pokud migrujete na MySQL běžící na virtuálním počítači Azure, můžete nakonfigurovat replikaci MySQL mezi místním systémem a provozem v Azure. Nativní replikace MySQL funguje pouze v jednom směru, ale k dispozici jsou řešení třetích stran, která podporují obousměrnou replikaci mezi servery MySQL. Tato řešení nebudou s Azure Database for MySQL fungovat.
  • Pokud provádíte online migraci, služba Azure Database for MySQL nastaví replikaci z místní databáze do databáze spuštěné v Azure. Po počátečním přenosu dat replikace zajistí, že se všechny změny provedené v místní databázi zkopírují do databáze v Azure, ale ne naopak.

V oboupřípadechch Například v online scénáři může mít aplikace připojená k databázi spuštěné ve službě Azure Database for MySQL svoje změny slepě přepsána aplikací, která stále používá místní databázi. Proto byste měli zvážit následující přístupy:

  • Migrujte aplikace na základě jejich typu úlohy. Aplikace, která přistupuje k datům jen pro čtení, se může bezpečně přesunout do databáze spuštěné ve službě Azure Database for MySQL a uvidí všechny změny provedené aplikacemi, které stále používají místní databázi. Pokud aplikace jen pro čtení nevyžadují plně data, můžete také přijmout strategii naopak.
  • Migrujte uživatele na základě typu úlohy. Tato strategie se podobá předchozí strategii s tím rozdílem, že můžete mít uživatele, kteří generují jenom sestavy, zatímco ostatní upravují data. Můžete mít stejnou aplikaci nakonfigurovanou tak, aby se připojila k příslušné databázi podle požadavků uživatele.
  • Migrujte aplikace na základě datových sad, které používají. Pokud různé aplikace používají různé podmnožina dat, můžete tyto aplikace migrovat nezávisle na sobě.

Změna konfigurace aplikace

Pokud chcete aplikaci překonfigurovat, nasměrujte ji na novou databázi. Většina dobře napsaných aplikací by měla izolovat logiku připojení – to by měla být jediná část kódu, která vyžaduje změnu. V mnoha případech se informace o připojení můžou ukládat jako informace o konfiguraci, takže je potřeba tyto informace aktualizovat.

Informace o připojení pro službu Azure Database for MySQL najdete na webu Azure Portal na stránce s řetězci Připojení pro vaši službu Azure Database for MySQL. Azure poskytuje informace pro mnoho běžných programovacích jazyků a architektur.

Image showing the Connection strings page for Azure Database for MySQL item in the Azure portal

Otevření síťových portů

Jak je uvedeno v lekci 1 tohoto modulu, Azure Database for MySQL je chráněná služba, která běží za bránou firewall. Klienti se nemůžou připojit, pokud služba nerozpozná svoji IP adresu. Pro klienty, kteří používají aplikace, které potřebují připojit k databázím, musíte přidat IP adresy nebo rozsahy bloků adres.

Testování a ověřování aplikací

Než přepnete aplikace a uživatele na novou databázi, je důležité zajistit, abyste všechno správně nakonfigurovali.

Začněte "suchým spouštěním" aplikací a připojte se jako jednotlivé role, abyste měli jistotu, že jsou k dispozici správné funkce.

Dále proveďte "namočené testy", které napodobují počet uživatelů, kteří používají typické úlohy souběžně po určitou dobu. Monitorujte systém a ověřte, že jste službě Azure Database for MySQL přidělili dostatek prostředků.

Teď můžete začít zavádět systém pro uživatele. Může být užitečné implementovat nějakou formu "kanárkového testování", kde se do systému nepřenese malá podmnožina uživatelů. To vám dává nestranný názor na to, jestli mají uživatelé stejné, lepší nebo horší zkušenosti s novou databází.