Az Amazon RDS for MySQL migrálása az Azure Database for MySQL-be a MySQL Workbench használatával

A következőkre vonatkozik: Azure Database for MySQL – Önálló kiszolgáló

Fontos

Az önálló Azure Database for MySQL-kiszolgáló a kivonási útvonalon van. Határozottan javasoljuk, hogy frissítsen rugalmas Azure Database for MySQL-kiszolgálóra. További információ a rugalmas Azure Database for MySQL-kiszolgálóra való migrálásról: Mi történik az önálló Azure Database for MySQL-kiszolgálóval?

A MySQL-hez készült Amazon RDS for MySQL migrálásához különböző segédprogramok, például a MySQL Workbench Export/Import, az Azure Database Migration Service (DMS) és a MySQL-memóriakép és -visszaállítás használható. A MySQL Workbench áttelepítési varázslójának használatával azonban egyszerűen és kényelmesen helyezheti át Az Amazon RDS for MySQL-adatbázisait az Azure Database for MySQL-be.

Az Áttelepítés varázslóval kényelmesen kiválaszthatja, hogy mely sémákat és objektumokat szeretné migrálni. Emellett a kiszolgálónaplók megtekintésével valós időben azonosíthatja a hibákat és a szűk keresztmetszeteket. Ennek eredményeképpen szerkesztheti és módosíthatja a táblákat vagy adatbázis-struktúrákat és objektumokat az áttelepítési folyamat során, amikor hiba észlelhető, majd folytathatja az áttelepítést anélkül, hogy újra kellene indítania az alapoktól.

Megjegyzés:

A Migrálási varázslóval más, a jelen cikk hatókörén kívül eső forrásokat is migrálhat, például a Microsoft SQL Servert, az Oracle-t, a PostgreSQL-t, a MariaDB-t stb.

Előfeltételek

A migrálási folyamat megkezdése előtt javasoljuk, hogy győződjön meg arról, hogy számos paraméter és szolgáltatás konfigurálva és megfelelően van beállítva az alábbiak szerint.

  • Győződjön meg arról, hogy a forrás- és céladatbázisok karakterkészlete megegyezik.

  • Állítsa be a várakozási időtúllépést az importálni vagy migrálni kívánt adatok vagy számítási feladatok mennyiségétől függően.

  • Állítsa be az max_allowed_packet parameter importálni vagy migrálni kívánt adatbázis méretétől függően ésszerű összeget.

  • Ellenőrizze, hogy az összes tábla innoDB-t használ-e, mivel az Azure Database for MySQL Server csak az InnoDB Storage motort támogatja.

  • Távolítsa el, cserélje le vagy módosítsa az összes eseményindítót, tárolt eljárást és egyéb olyan függvényt, amely legfelső szintű felhasználót vagy felügyelőt tartalmaz (az Azure Database for MySQL nem támogatja a Super felhasználói jogosultságot). Ha a definiálókat az importálási folyamatot futtató rendszergazdai felhasználó nevére szeretné cserélni, futtassa a következő parancsot:

    DELIMITER; ;/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`127.0.0.1`*/ /*!50003
    DELIMITER;
    /* Modified to */
    DELIMITER;
    /*!50003 CREATE*//*!50017 DEFINER=`AdminUserName`@`ServerName`*/ /*!50003
    DELIMITER;
    
    
  • Ha a felhasználó által definiált függvények (UDF-ek) futnak az adatbázis-kiszolgálón, törölnie kell a mysql-adatbázis jogosultságát. Annak megállapításához, hogy a kiszolgálón futnak-e UDF-ek, használja a következő lekérdezést:

    SELECT * FROM mysql.func;
    

    Ha azt észleli, hogy az UDF-ek futnak, az alábbi lekérdezéssel elvetheti az UDF-eket:

    DROP FUNCTION your_UDFunction;
    
  • Győződjön meg arról, hogy a kiszolgáló, amelyen az eszköz fut, és végső soron az exportálási hely elegendő lemezterülettel és számítási teljesítménnyel (virtuális magok, CPU és memória) rendelkezik az exportálási művelet végrehajtásához, különösen akkor, ha nagyon nagy adatbázist exportál.

  • Hozzon létre egy útvonalat a helyszíni vagy az AWS-példány és az Azure Database for MySQL között, ha a számítási feladat tűzfalak vagy más hálózati biztonsági rétegek mögött található.

Az áttelepítési folyamat megkezdése

  1. Az áttelepítési folyamat elindításához jelentkezzen be a MySQL Workbenchbe, majd válassza a kezdőlap ikont.

  2. A bal oldali navigációs sávon válassza az Áttelepítés varázsló ikont az alábbi képernyőképen látható módon.

    MySQL Workbench start screen

    Megjelenik a Migrálás varázsló Áttekintés lapja, ahogy az alább látható.

    MySQL Workbench Migration Wizard welcome page

  3. Az ODBC-Rendszergazda istrator megnyitása lehetőség kiválasztásával állapítsa meg, hogy telepítve van-e a MySQL Server ODBC-illesztője.

    Esetünkben az Illesztőprogramok lapon láthatja, hogy már két MySQL Server ODBC-illesztőprogram van telepítve.

    ODBC Data Source Administrator page

    Ha nincs telepítve MySQL ODBC-illesztőprogram, használja a MySQL Workbench telepítéséhez használt MySQL-telepítőt az illesztőprogram telepítéséhez. A MySQL ODBC-illesztőprogram telepítésével kapcsolatos további információkért tekintse meg a következő erőforrásokat:

  4. Zárja be az ODBC Adatforrás Rendszergazda istrator párbeszédpanelt, majd folytassa az áttelepítési folyamatot.

Forrásadatbázis-kiszolgáló kapcsolati paramétereinek konfigurálása

  1. Az Áttekintés lapon válassza a Migrálás indítása lehetőséget.

    Megjelenik a Forráskijelölés lap. Ezen a lapon információkat találhat a migrálandó RDBMS-ről és a kapcsolat paramétereiről.

  2. Az Adatbázisrendszer mezőben válassza a MySQL lehetőséget.

  3. A Tárolt Csatlakozás ion mezőben válassza ki az RDBMS mentett kapcsolati beállításainak egyikét.

    A kapcsolatok mentéséhez jelölje be a lap alján található jelölőnégyzetet, és adja meg a kívánt nevet.

  4. A Csatlakozás ion metódus mezőben válassza a Standard TCP/IP lehetőséget.

  5. A Gazdagépnév mezőben adja meg a forrásadatbázis-kiszolgáló nevét.

  6. A Port mezőben adja meg a 3306 értéket, majd adja meg a kiszolgálóhoz való csatlakozáshoz szükséges felhasználónevet és jelszót.

  7. Az Adatbázis mezőben adja meg annak az adatbázisnak a nevét, amelyet át szeretne telepíteni, ha tudja. Ellenkező esetben hagyja üresen ezt a mezőt.

  8. Válassza a Tesztelés Csatlakozás lehetőséget a MySQL-kiszolgálópéldányhoz való kapcsolat ellenőrzéséhez.

    Ha a megfelelő paramétereket adta meg, egy üzenet jelenik meg, amely egy sikeres kapcsolati kísérletet jelez.

    Source database connection parameters page

  9. Válassza a Következő lehetőséget.

Céladatbázis-kiszolgáló kapcsolati paramétereinek konfigurálása

  1. A Célkijelölés lapon állítsa be a paramétereket a cél MySQL-kiszolgálópéldányhoz való csatlakozáshoz a forráskiszolgálóhoz való kapcsolat beállításához hasonló folyamattal.

  2. A sikeres kapcsolat ellenőrzéséhez válassza a Tesztelés Csatlakozás ion lehetőséget.

    Target database connection parameters page

  3. Válassza a Következő lehetőséget.

Válassza ki a migrálni kívánt sémákat

A Migrálás varázsló kommunikálni fog a MySQL-kiszolgáló példányával, és lekéri a sémák listáját a forráskiszolgálóról.

  1. A művelet megtekintéséhez válassza a Naplók megjelenítése lehetőséget.

    Az alábbi képernyőkép a sémák forrásadatbázis-kiszolgálóról való lekérésének módját mutatja be.

    Fetch schemas list page

  2. A Tovább gombra kattintva ellenőrizheti, hogy az összes séma beolvasása sikeresen megtörtént-e.

    Az alábbi képernyőképen a lekért sémák listája látható.

    Schemas selection page

    Csak a listában megjelenő sémákat migrálhatja.

  3. Jelölje ki a migrálni kívánt sémákat, majd kattintson a Tovább gombra.

Objektummigrálás

Ezután adja meg a migrálni kívánt objektum(ok)t.

  1. Válassza a Kijelölés megjelenítése lehetőséget, majd az Elérhető objektumok területen jelölje ki és adja hozzá az áttelepítendő objektumokat.

    Amikor hozzáadta az objektumokat, azok a migrálandó objektumok alatt jelennek meg, ahogyan az az alábbi képernyőképen látható.

    Source objects selection page

    Ebben a forgatókönyvben az összes táblaobjektumot kiválasztottuk.

  2. Válassza a Következő lehetőséget.

Adatok szerkesztése

Ebben a szakaszban lehetősége van az áttelepíteni kívánt objektumok szerkesztésére.

  1. A Manuális szerkesztés lapon figyelje meg a Nézet legördülő menüt a jobb felső sarokban.

    Manual Editing selection page

    A Nézet legördülő lista három elemet tartalmaz:

    • Minden objektum – Megjeleníti az összes objektumot. Ezzel a beállítással manuálisan szerkesztheti a létrehozott SQL-t, mielőtt a céladatbázis-kiszolgálóra alkalmazza őket. Ehhez jelölje ki az objektumot, és válassza a Kód és üzenetek megjelenítése lehetőséget. Láthatja (és szerkesztheti!) a létrehozott MySQL-kódot, amely megfelel a kijelölt objektumnak.
    • Migrálási problémák – Megjeleníti az áttelepítés során felmerülő problémákat, amelyeket áttekinthet és ellenőrizhet.
    • Oszlopleképezés – Oszlopleképezési információkat jelenít meg. Ezzel a nézetben szerkesztheti a célobjektum nevét és oszlopát.
  2. Válassza a Következő lehetőséget.

A céladatbázis létrehozása

  1. Jelölje be a Séma létrehozása a cél RDBMS-ben jelölőnégyzetet.

    Dönthet úgy is, hogy megtartja a már meglévő sémákat, így azok nem lesznek módosítva vagy frissítve.

    Target Creation Options page

    Ebben a cikkben úgy döntöttünk, hogy létrehozzuk a sémát a cél RDBMS-ben, de az SQL-szkriptfájl létrehozása jelölőnégyzetet is bejelölve mentheti a fájlt a helyi számítógépre vagy más célokra.

  2. Válassza a Következő lehetőséget.

Futtassa a MySQL-szkriptet az adatbázis-objektumok létrehozásához

Mivel úgy döntöttünk, hogy sémát hozunk létre a cél RDBMS-ben, a migrált SQL-szkript a cél MySQL-kiszolgálón lesz végrehajtva. A folyamat előrehaladását az alábbi képernyőképen látható módon tekintheti meg:

Create Schemas page

  1. A sémák és objektumaik létrehozása után válassza a Tovább gombot.

    A Céleredmények létrehozása lapon megjelenik a létrehozott objektumok listája, valamint a létrehozásuk során észlelt hibákról szóló értesítés, ahogyan az alábbi képernyőképen látható.

    Create Target Results page

  2. Tekintse át az oldalon található részleteket annak ellenőrzéséhez, hogy minden a kívánt módon fejeződött-e be.

    Ebben a cikkben nincsenek hibák. Ha nincs szükség hibaüzenetek kezelésére, szerkesztheti a migrálási szkriptet.

  3. Az Objektum mezőben jelölje ki a szerkeszteni kívánt objektumot.

  4. A kijelölt objektumHOZ tartozó SQL CREATE-szkript alatt módosítsa az SQL-szkriptet, majd kattintson az Alkalmaz gombra a módosítások mentéséhez.

  5. Válassza az Objektumok ismételt létrehozása lehetőséget a szkript futtatásához, beleértve a módosításokat is.

    Ha a szkript sikertelen, előfordulhat, hogy szerkesztenie kell a létrehozott szkriptet. Ezután manuálisan kijavíthatja az SQL-szkriptet, és újra futtathat mindent. Ebben a cikkben nem módosítunk semmit, ezért a szkriptet úgy hagyjuk, ahogy van.

  6. Válassza a Következő lehetőséget.

Adatátvitel

A folyamat ezen része áthelyezi az adatokat a forrás MySQL Server-adatbázispéldányból az újonnan létrehozott cél MySQL-adatbázispéldányba. A folyamat konfigurálásához használja az Adatátvitel beállítása lapot.

Data Transfer Setup page

Ezen a lapon az adatátvitel beállítására szolgáló beállításokat talál. A cikk alkalmazásában elfogadjuk az alapértelmezett értékeket.

  1. Az adatok átvitelének tényleges folyamatának megkezdéséhez válassza a Tovább gombot.

    Az adatátviteli folyamat előrehaladása az alábbi képernyőképen látható módon jelenik meg.

    Bulk Data Transfer page

    Megjegyzés:

    Az adatátviteli folyamat időtartama közvetlenül kapcsolódik az áttelepítendő adatbázis méretéhez. Minél nagyobb a forrásadatbázis, annál tovább tart a folyamat, ami akár néhány órát is igénybe vehet a nagyobb adatbázisok esetében.

  2. Az átvitel befejezése után válassza a Tovább gombot.

    Megjelenik a Migrálási jelentés lap, amely egy, a teljes folyamatot összegző jelentést jelenít meg az alábbi képernyőképen látható módon:

    Migration Progress Report page

  3. A Befejezés gombra kattintva zárja be az áttelepítési varázslót.

    Az áttelepítés sikeresen befejeződött.

A migrált sémák és táblák konzisztenciájának ellenőrzése

  1. Ezután jelentkezzen be a MySQL-céladatbázis-példányba, és ellenőrizze, hogy a migrált sémák és táblák összhangban vannak-e a MySQL-forrásadatbázissal.

    Esetünkben láthatjuk, hogy az Amazon RDS for MySQL: MyjolieDB-adatbázis összes sémája (sakila, moda, items, customer, clothes, world, and world_x) sikeresen át lett migrálva az Azure Database for MySQL: azmysql-példányba .

  2. A táblák és sorok számának ellenőrzéséhez futtassa a következő lekérdezést mindkét példányon:

    SELECT COUNT (*) FROM sakila.actor;

    Az alábbi képernyőképen látható, hogy az Amazon RDS MySQL sorszáma 200, amely megfelel az Azure Database for MySQL-példánynak.

    Table and Row size source database

    Table and Row size target database

    Bár a fenti lekérdezést minden egyes sémán és táblán futtathatja, ez elég sok munkát fog végezni, ha több százezer vagy akár több millió táblával foglalkozik. Az alábbi lekérdezésekkel ellenőrizheti a séma (adatbázis) és a tábla méretét.

  3. Az adatbázis méretének ellenőrzéséhez futtassa a következő lekérdezést:

    SELECT table_schema AS "Database", 
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" 
    FROM information_schema.TABLES 
    GROUP BY table_schema;
    
  4. A tábla méretének ellenőrzéséhez futtassa a következő lekérdezést:

    SELECT table_name AS "Table",
    ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
    FROM information_schema.TABLES
    WHERE table_schema = "database_name"
    ORDER BY (data_length + index_length) DESC;
    

    Az alábbi képernyőképeken látható, hogy a forrás Amazon RDS MySQL-példány sémamérete (adatbázisa) megegyezik a cél Azure Database for MySQL-példány méretével.

    Database size source database

    Database size target database

    Mivel a séma (adatbázis) mérete mindkét példányban megegyezik, nem feltétlenül szükséges ellenőrizni az egyes táblák méretét. Mindenesetre a fenti lekérdezés használatával szükség szerint ellenőrizheti a táblaméreteket.

    Ezzel megerősítette, hogy a migrálás sikeresen befejeződött.

További lépések

  • Az adatbázisok Azure Database for MySQL-be való migrálásával kapcsolatos további információkért tekintse meg az adatbázis-migrálási útmutatót.
  • Tekintse meg a MySQL/PostgreSQL-alkalmazások azure-beli felügyelt szolgáltatásba való migrálását bemutató videót, amely bemutatja, hogyan migrálhatja a MySQL-alkalmazásokat az Azure Database for MySQL-be.