Oktatóanyag: RDS MySQL online migrálása az Azure Database for MySQL-be a DMS használatávalTutorial: Migrate RDS MySQL to Azure Database for MySQL online using DMS

A Azure Database Migration Service segítségével telepíthet át adatbázisokat egy RDS MySQL-példányból, hogy Azure Database for MySQL , amíg a forrásadatbázis online állapotban marad az áttelepítés során.You can use Azure Database Migration Service to migrate databases from an RDS MySQL instance to Azure Database for MySQL while the source database remains online during migration. Más szóval a Migrálás az alkalmazás minimális állásidővel is elérhető.In other words, migration can be achieved with minimal downtime to the application. Ebben az oktatóanyagban áttelepíti az alkalmazottak minta adatbázisát az RDS MySQL egy példányáról, hogy Azure Database for MySQL a Azure Database Migration Service Online áttelepítési tevékenységének használatával.In this tutorial, you migrate the Employees sample database from an instance of RDS MySQL to Azure Database for MySQL by using the online migration activity in Azure Database Migration Service.

Eben az oktatóanyagban az alábbiakkal fog megismerkedni:In this tutorial, you learn how to:

  • Telepítse át a minta sémát a mysqldump és a MySQL segédprogram használatával.Migrate the sample schema by using the mysqldump and mysql utilities.
  • Hozzon létre egy Azure Database Migration Service-példányt.Create an instance of Azure Database Migration Service.
  • Hozzon létre egy áttelepítési projektet Azure Database Migration Service használatával.Create a migration project by using Azure Database Migration Service.
  • A migrálás futtatása.Run the migration.
  • Az áttelepítés monitorozása.Monitor the migration.

Megjegyzés

A Azure Database Migration Service használata az online áttelepítés végrehajtásához a prémium szintű díjszabás alapján kell létrehoznia egy példányt.Using Azure Database Migration Service to perform an online migration requires creating an instance based on the Premium pricing tier. További információkért tekintse meg a Azure Database Migration Service díjszabását ismertető oldalt.For more information, see the Azure Database Migration Service pricing page.

Fontos

A Microsoft azt javasolja, hogy a migrálási folyamat optimalizálása érdekében ugyanabban az Azure-régióban hozza létre az Azure Database Migration Service-példányt, mint amelyikben a céladatbázis is található.For an optimal migration experience, Microsoft recommends creating an instance of the Azure Database Migration Service in the same Azure region as the target database. Az adatok különböző régiók és földrajzi helyek közötti áthelyezése lelassíthatja a migrálási folyamatot, és hibákat eredményezhet.Moving data across regions or geographies can slow down the migration process and introduce errors.

Tipp

Amikor adatbázisokat migrál az Azure-ba az Azure Database Migration Service használatával, offline vagy online migrálást végezhet.When you migrate databases to Azure by using Azure Database Migration Service, you can do an offline or an online migration. Offline migrálás esetén az alkalmazás akkor áll le, amikor a migrálás elkezdődik.With an offline migration, application downtime starts when the migration starts. Online migrálás esetén az állásidő a migrálás végén lévő átállítás idejére korlátozódik.With an online migration, downtime is limited to the time to cut over at the end of migration. Azt javasoljuk, hogy próbálja ki az offline migrálást, és határozza meg, hogy elfogadható-e az állásidő; ha nem, végezzen online migrálást.We suggest that you test an offline migration to determine whether the downtime is acceptable; if not, do an online migration.

Ez a cikk azt ismerteti, hogyan hajtható végre az online áttelepítés az RDS MySQL-példányból a Azure Database for MySQLba.This article describes how to perform an online migration from an instance of RDS MySQL to Azure Database for MySQL.

ElőfeltételekPrerequisites

Az oktatóanyag elvégzéséhez a következőkre lesz szüksége:To complete this tutorial, you need to:

  • Győződjön meg arról, hogy a forrás MySQL-kiszolgáló támogatott MySQL Community Edition verziót futtat.Ensure that the source MySQL server is running a supported MySQL community edition. A MySQL-példány verziójának meghatározásához a MySQL segédprogramban vagy a MySQL Workbenchben futtassa a következő parancsot:To determine the version of your MySQL instance, in the mysql utility or MySQL Workbench, run the command:

    SELECT @@version;
    

    További információ: támogatott Azure Database for MySQL verziók.For more information, see the article Supported Azure Database for MySQL versions.

  • Töltse le és telepítse a MySQL Employees mintaadatbázis-adatbázist.Download and install the MySQL Employees sample database.

  • Azure Database for MySQL-példány létrehozása.Create an instance of Azure Database for MySQL.

  • Hozzon létre egy Microsoft Azure Virtual Network a Azure Database Migration Service számára a Azure Resource Manager üzemi modell használatával, amely helyek közötti kapcsolatot biztosít a helyszíni forráskiszolgáló számára a ExpressRoute vagy a VPNhasználatával.Create a Microsoft Azure Virtual Network for Azure Database Migration Service by using the Azure Resource Manager deployment model, which provides site-to-site connectivity to your on-premises source servers by using either ExpressRoute or VPN. A virtuális hálózatok létrehozásával kapcsolatos további információkért tekintse meg a Virtual Network dokumentációt, és különösen a gyors üzembe helyezési cikkeket részletesen ismerteti.For more information about creating a virtual network, see the Virtual Network Documentation, and especially the quickstart articles with step-by-step details.

  • Győződjön meg arról, hogy a virtuális hálózati hálózati biztonsági csoport szabályai nem gátolják meg a következő bejövő kommunikációs portokat a Azure Database Migration Service: 443, 53, 9354, 445 és 12000.Ensure that your virtual network Network Security Group rules don't block the following inbound communication ports to Azure Database Migration Service: 443, 53, 9354, 445, and 12000. A Virtual Network NSG-forgalom szűrésével kapcsolatos további információkért tekintse meg a hálózati forgalom szűrése hálózati biztonsági csoportokkalcímű cikket.For more detail on virtual network NSG traffic filtering, see the article Filter network traffic with network security groups.

  • Konfigurálja a Windows tűzfalat (vagy a Linux tűzfalat) az adatbázismotor-hozzáférés engedélyezéséhez.Configure your Windows Firewall (or your Linux firewall) to allow for database engine access. A MySQL-kiszolgáló esetében engedélyezze a 3306-es portot a kapcsolathoz.For MySQL server, allow port 3306 for connectivity.

Megjegyzés

Azure Database for MySQL csak a InnoDB táblákat támogatja.Azure Database for MySQL only supports InnoDB tables. A MyISAM-táblák InnoDB való átalakításához tekintse meg a táblák konvertálása a MyISAM- ből a InnoDB-be című cikket.To convert MyISAM tables to InnoDB, please see the article Converting Tables from MyISAM to InnoDB .

Az AWS RDS MySQL beállítása replikáláshozSet up AWS RDS MySQL for replication

  1. Új paraméterérték létrehozásához kövesse az AWS-ben a MySQL-adatbázis naplófájljaicímű cikkben szereplő utasításokat a bináris naplózási formátum szakaszban.To create a new parameter group, follow the instructions provided by AWS in the article MySQL Database Log Files, in the Binary Logging Format section.
  2. Hozzon létre egy új paraméter-csoportot a következő konfigurációval:Create a new parameter group with the following configuration:
    • log_bin = bekapcsolvalog_bin = ON
    • binlog_format = rowbinlog_format = row
    • binlog_checksum = nincsbinlog_checksum = NONE
  3. Mentse az új paraméter csoportot.Save the new parameter group.
  4. Társítsa az új paraméter csoportot az RDS MySQL-példánnyal.Associate the new parameter group with the RDS MySQL instance. Lehetséges, hogy újraindítás szükséges.A reboot might be required.
  5. Ha a paraméterérték be van állítva, kapcsolódjon a MySQL-példányhoz, és állítsa be a BinLog megőrzését legalább 5 napra.Once the parameter group is in place, connect to the MySQL instance and set binlog retention to at least 5 days.
call mysql.rds_set_configuration('binlog retention hours', 120);

A séma migrálásaMigrate the schema

  1. Bontsa ki a sémát a forrás-adatbázisból, és alkalmazza a célként megadott adatbázisra az összes adatbázis-objektum, például a táblázat sémái, indexek és tárolt eljárások áttelepítésének befejezéséhez.Extract the schema from the source database and apply to the target database to complete migration of all database objects such as table schemas, indexes, and stored procedures.

    Csak a séma legegyszerűbb áttelepíteni a mysqldump és a--No-adatparamétert használja.The easiest way to migrate only the schema is to use mysqldump with the --no-data parameter. A séma áttelepíthető parancsa a következő:The command to migrate the schema is:

    mysqldump -h [servername] -u [username] -p[password] --databases [db name] --no-data > [schema file path]
    

    Például az Employees adatbázishoz tartozó sémafájl kiírásához használja az alábbi parancsot:For example, to dump a schema file for the Employees database, use the following command:

    mysqldump -h 10.10.123.123 -u root -p --databases employees --no-data > d:\employees.sql
    
  2. Importálja a sémát a cél szolgáltatásba, amely Azure Database for MySQL.Import the schema to target service, which is Azure Database for MySQL. A séma memóriaképfájl-fájljának visszaállításához futtassa a következő parancsot:To restore the schema dump file, run the following command:

    mysql.exe -h [servername] -u [username] -p[password] [database]< [schema file path]
    

    Például az Employees adatbázis sémájának importálásához:For example, to import the schema for the Employees database:

    mysql.exe -h shausample.mysql.database.azure.com -u dms@shausample -p employees < d:\employees.sql
    
  3. Ha a sémában idegen kulcsok szerepelnek, a migrálás első betöltése és folyamatos szinkronizálása sikertelen lesz.If you have foreign keys in your schema, the initial load and continuous sync of the migration will fail. A drop Foreign Key szkript kibontásához és a külső kulcsú parancsfájl hozzáadásához a célhelyen (Azure Database for MySQL) futtassa a következő szkriptet a MySQL Workbenchben:To extract the drop foreign key script and add foreign key script at the destination (Azure Database for MySQL), run the following script in MySQL Workbench:

    SET group_concat_max_len = 8192;
        SELECT SchemaName, GROUP_CONCAT(DropQuery SEPARATOR ';\n') as DropQuery, GROUP_CONCAT(AddQuery SEPARATOR ';\n') as AddQuery
        FROM
        (SELECT
        KCU.REFERENCED_TABLE_SCHEMA as SchemaName,
                    KCU.TABLE_NAME,
                    KCU.COLUMN_NAME,
                    CONCAT('ALTER TABLE ', KCU.TABLE_NAME, ' DROP FOREIGN KEY ', KCU.CONSTRAINT_NAME) AS DropQuery,
        CONCAT('ALTER TABLE ', KCU.TABLE_NAME, ' ADD CONSTRAINT ', KCU.CONSTRAINT_NAME, ' FOREIGN KEY (`', KCU.COLUMN_NAME, '`) REFERENCES `', KCU.REFERENCED_TABLE_NAME, '` (`', KCU.REFERENCED_COLUMN_NAME, '`) ON UPDATE ',RC.UPDATE_RULE, ' ON DELETE ',RC.DELETE_RULE) AS AddQuery
                    FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU, information_schema.REFERENTIAL_CONSTRAINTS RC
                    WHERE
                      KCU.CONSTRAINT_NAME = RC.CONSTRAINT_NAME
                      AND KCU.REFERENCED_TABLE_SCHEMA = RC.UNIQUE_CONSTRAINT_SCHEMA
      AND KCU.REFERENCED_TABLE_SCHEMA = 'SchemaName') Queries
      GROUP BY SchemaName;
    
  4. A külső kulcs eldobásához futtassa a legördülő idegen kulcsot (amely a második oszlop) a lekérdezési eredményben.Run the drop foreign key (which is the second column) in the query result to drop the foreign key.

Megjegyzés

Az Azure DMS nem támogatja a lépcsőzetes hivatkozási műveletet, amely segít automatikusan törölni vagy frissíteni a gyermektábla egyező sorát, amikor egy sort törölnek vagy frissítenek a fölérendelt táblában.Azure DMS does not support the CASCADE referential action, which helps to automatically delete or update a matching row in the child table when a row is deleted or updated in the parent table. További információ a MySQL dokumentációjában található a FOREIGN Key megkötésekcímű cikk hivatkozási műveletek című szakasza.For more information, in the MySQL documentation, see the Referential Actions section of the article FOREIGN KEY Constraints. Az Azure DMS-nek szüksége van arra, hogy a kezdeti adatterhelés során dobja el a külső kulcsra vonatkozó korlátozásokat a célként megadott adatbázis-kiszolgálón, és nem használhat hivatkozási műveleteket.Azure DMS requires that you drop foreign key constraints in the target database server during the initial data load, and you cannot use referential actions. Ha a számítási feladat a kapcsolódó alárendelt tábla ezen hivatkozási művelettel való frissítésének függvénye, akkor azt javasoljuk, hogy ehelyett végezzen el egy memóriaképet és egy visszaállítást .If your workload depends on updating a related child table via this referential action, we recommend that you perform a dump and restore instead.

  1. Ha az adatokban eseményindítók (INSERT vagy Update trigger) szerepelnek, akkor az adatok a forrásból való replikálása előtt kényszerítve lesznek az adatok integritására a célhelyen.If you have triggers (insert or update trigger) in the data, it will enforce data integrity in the target before replicating data from the source. Javasoljuk, hogy az áttelepítés során tiltsa le az eseményindítókat a célhelyen lévő összes táblában, majd engedélyezze az eseményindítókat az áttelepítés befejeződése után.The recommendation is to disable triggers in all the tables at the target during migration, and then enable the triggers after migration is complete.

    Eseményindítók letiltása a céladatbázisben:To disable triggers in target database:

    select concat ('alter table ', event_object_table, ' disable trigger ', trigger_name)
    from information_schema.triggers;
    
  2. Ha bármely táblában szerepelnek az ENUMERÁLÁS adattípus példányai, javasoljuk, hogy ideiglenesen frissítsen a "Character változó" adattípusra a cél táblában.If there are instances of the ENUM data type in any tables, we recommend temporarily updating to the ‘character varying’ datatype in the target table. Amikor az adatreplikálás befejeződött, állítsa az adattípust az ENUM értékre.WHen data replication is complete, then revert the data type to ENUM.

A Microsoft.DataMigration erőforrás-szolgáltató regisztrálásaRegister the Microsoft.DataMigration resource provider

  1. Jelentkezzen be az Azure Portalra, és válassza a Minden szolgáltatás, majd az Előfizetések elemet.Sign in to the Azure portal, select All services, and then select Subscriptions.

    Portál-előfizetések megtekintése

  2. Válassza ki azt az előfizetést, amelyben létre kívánja hozni a Azure Database Migration Service példányát, majd válassza az erőforrás-szolgáltatók lehetőséget.Select the subscription in which you want to create the instance of Azure Database Migration Service, and then select Resource providers.

    Erőforrás-szolgáltatók megtekintése

  3. Keresse meg az áttelepítést, majd a Microsoft. DataMigration jobb oldalán válassza a regisztráció lehetőséget.Search for migration, and then to the right of Microsoft.DataMigration, select Register.

    Erőforrás-szolgáltató regisztrálása

Azure Database Migration Service-példány létrehozásaCreate an instance of Azure Database Migration Service

  1. Az Azure Portalon válassza a + Erőforrás létrehozása lehetőséget, keresse meg az Azure Database Migration Service-t, és a legördülő menüben válassza ki az Azure Database Migration Service-t.In the Azure portal, select + Create a resource, search for Azure Database Migration Service, and then select Azure Database Migration Service from the drop-down list.

    Azure Piactér

  2. Az Azure Database Migration Service képernyőn válassza a Létrehozás lehetőséget.On the Azure Database Migration Service screen, select Create.

    Azure Database Migration Service-példány létrehozása

  3. A migrálási szolgáltatás létrehozása képernyőn adja meg a szolgáltatás, az előfizetés és egy új vagy meglévő erőforráscsoport nevét.On the Create Migration Service screen, specify a name for the service, the subscription, and a new or existing resource group.

  4. Válassza ki azt a helyet, amelyben létre szeretné hozni a Azure Database Migration Service példányát.Select the location in which you want to create the instance of Azure Database Migration Service.

  5. Válasszon egy meglévő virtuális hálózatot, vagy hozzon létre egy újat.Select an existing virtual network or create a new one.

    A virtuális hálózat Azure Database Migration Service hozzáférést biztosít a forrás MySQL-példányhoz és a cél Azure Database for MySQL példányhoz.The virtual network provides Azure Database Migration Service with access to the source MySQL instance and the target Azure Database for MySQL instance.

    Ha további információt szeretne arról, hogyan hozhat létre virtuális hálózatot a Azure Portalban, tekintse meg a virtuális hálózat létrehozása a Azure Portal használatávalcímű cikket.For more information about how to create a virtual network in the Azure portal, see the article Create a virtual network using the Azure portal.

  6. Válasszon árképzési szintet; az online áttelepítés esetében ügyeljen arra, hogy a prémium: 4vCores díjszabási szintet válassza.Select a pricing tier; for this online migration, be sure to select the Premium: 4vCores pricing tier.

    Az Azure Database Migration Service-példány beállításainak konfigurálása

  7. A szolgáltatás létrehozásához válassza a Létrehozás lehetőséget.Select Create to create the service.

Migrálási projekt létrehozásaCreate a migration project

A szolgáltatás létrejötte után keresse meg azt az Azure Portalon, nyissa meg, és hozzon létre egy új migrálási projektet.After the service is created, locate it within the Azure portal, open it, and then create a new migration project.

  1. Az Azure Portalon válassza a Minden szolgáltatás lehetőséget, keresse meg az Azure Database Migration Service-t, majd válassza ki az Azure Database Migration Servicest.In the Azure portal, select All services, search for Azure Database Migration Service, and then select Azure Database Migration Services.

    Az Azure Database Migration Service minden példányának megkeresése

  2. Az Azure Database Migration Services képernyőn keresse meg a létrehozott Azure Database Migration Service-példány nevét, és válassza ki ezt a példányt.On the Azure Database Migration Services screen, search for the name of the Azure Database Migration Service instance that you created, and then select the instance.

    Az Azure Database Migration Service személyes példányának megkeresése

  3. Válassza a + Új migrálási projekt lehetőséget.Select + New Migration Project.

  4. Az új áttelepítési projekt képernyőn adja meg a projekt nevét, a forráskiszolgáló típusa szövegmezőben válassza a MySQL lehetőséget, majd a célkiszolgáló típusa szövegmezőben válassza a AzureDbForMySQL lehetőséget.On the New migration project screen, specify a name for the project, in the Source server type text box, select MySQL, and then in the Target server type text box, select AzureDbForMySQL.

  5. A tevékenység típusának kiválasztása szakaszban válassza az online adatáttelepítés lehetőséget.In the Choose type of activity section, select Online data migration.

    Fontos

    Ügyeljen arra, hogy online adatáttelepítést válasszon; az offline áttelepítések nem támogatottak ebben a forgatókönyvben.Be sure to select Online data migration; offline migrations are not supported for this scenario.

    Azure Database Migration Service-projekt létrehozása

    Megjegyzés

    Másik lehetőségként választhatja a projekt létrehozása lehetőséget az áttelepítési projekt létrehozásához, és később végrehajthatja az áttelepítést.Alternately, you can choose Create project only to create the migration project now and execute the migration later.

  6. Kattintson a Mentés gombra.Select Save.

  7. Válassza a Tevékenység létrehozása és futtatása lehetőséget a projekt létrehozásához és a migrálási művelet lefuttatásához.Select Create and run activity to create the project and run the migration activity.

    Megjegyzés

    Jegyezze fel az online áttelepítés beállításához szükséges előfeltételeket a projekt létrehozása panelen.Please make a note of the pre-requisites needed to set up online migration in the project creation blade.

Forrás adatainak megadásaSpecify source details

  • Az áttelepítési forrás részletei képernyőn válassza ki a forrás MySQL-példány kapcsolati adatait.On the Migration source detail screen, specify the connection details for the source MySQL instance.

    Forrás részletei

Cél adatainak megadásaSpecify target details

  1. Válassza a Mentés lehetőséget, majd a cél részletei képernyőn adja meg a cél Azure Database for MySQL-kiszolgáló kapcsolati adatait, amely előre kiépített, és az alkalmazottak sémája a MySQLDump használatával van üzembe helyezve.Select Save, and then on the Target details screen, specify the connection details for the target Azure Database for MySQL server, which is pre-provisioned and has the Employees schema deployed using MySQLDump.

    Cél kiválasztása

  2. Válassza a Mentés lehetőséget, majd a Leképezés céladatbázisokra képernyőn képezze le a forrás- és a céladatbázist a migráláshoz.Select Save, and then on the Map to target databases screen, map the source and the target database for migration.

    Ha a céladatbázis ugyanazt az adatbázisnevet tartalmazza, mint a forrás-adatbázis, akkor a Azure Database Migration Service alapértelmezés szerint kiválasztja a céladatbázis-adatbázist.If the target database contains the same database name as the source database, Azure Database Migration Service selects the target database by default.

    Leképezés céladatbázisokra

  3. Válassza a Mentés lehetőséget. A migrálás összegzése képernyő Tevékenység neve szövegbeviteli mezőjében adja meg a migrálási tevékenység nevét, majd tekintse át az összegzést, és ellenőrizze, hogy a forrás és a cél adatai megegyeznek-e a korábban megadottakkal.Select Save, on the Migration summary screen, in the Activity name text box, specify a name for the migration activity, and then review the summary to ensure that the source and target details match what you previously specified.

    A migrálás összegzése

A migrálás futtatásaRun the migration

  • Válassza a Migrálás futtatása lehetőséget.Select Run migration.

    Megjelenik a migrálás műveletének ablaka. A tevékenység Állapota: Inicializálás.The migration activity window appears, and the Status of the activity is Initializing.

A migrálás monitorozásaMonitor the migration

  1. A migrálás műveletének ablakában válassza a Frissítés lehetőséget a megjelenítés frissítéséhez addig, amíg a migrálás Állapota át nem vált Fut értékre.On the migration activity screen, select Refresh to update the display until the Status of the migration shows as Running.

    Tevékenység állapota – fut

  2. Az adatbázis neve területen válasszon ki egy adott adatbázist, amely a teljes adatterhelés és a növekményes adatszinkronizálási műveletek áttelepítési állapotát adja meg.Under DATABASE NAME, select a specific database to get to the migration status for Full data load and Incremental data sync operations.

    A teljes adatterhelés megjeleníti a kezdeti betöltési áttelepítés állapotát, míg a növekményes adatszinkronizálás megjeleníti az adatváltozások rögzítésére (CDC) vonatkozó állapotot.Full data load shows the initial load migration status, while Incremental data sync shows change data capture (CDC) status.

    Leltár képernyő – teljes adatterhelés

    Leltár képernyő – növekményes adatszinkronizálás

Átállásos áttelepítés végrehajtásaPerform migration cutover

A kezdeti teljes terhelés befejezése után az adatbázisok készen állnak a átváltás.After the initial Full load is completed, the databases are marked Ready to Cutover.

  1. Ha készen áll az adatbázis migrálásának befejezésére, kattintson az Átállás indítása gombra.When you're ready to complete the database migration, select Start Cutover.

    Kivágás megkezdése

  2. Mindenképpen állítsa le a forrásadatbázis összes bejövő tranzakcióját, és várjon, amíg a Függőben lévő módosítások számlálója 0-t nem mutat.Make sure to stop all the incoming transactions to the source database; wait until the Pending changes counter shows 0.

  3. Kattintson a Megerősítés, majd az Alkalmaz gombra.Select Confirm, and the select Apply.

  4. Ha az adatbázis-áttelepítési állapot megjelenik, az alkalmazásokat az új cél Azure Database for MySQL adatbázishoz kapcsolja.When the database migration status shows Completed, connect your applications to the new target Azure Database for MySQL database.

A Azure Database for MySQL MySQL helyi példányának online áttelepítése most már befejeződött.Your online migration of an on-premises instance of MySQL to Azure Database for MySQL is now complete.

Következő lépésekNext steps