Amazon RDS for MySQL migreren naar Azure Database for MySQL met behulp van MySQL Workbench

VAN TOEPASSING OP: Azure Database for MySQL - enkele server

Belangrijk

Azure Database for MySQL enkele server bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan een upgrade uit te voeren naar een flexibele Azure Database for MySQL-server. Zie Wat gebeurt er met Azure Database for MySQL Enkele server voor meer informatie over migreren naar Azure Database for MySQL Flexibele server ?

U kunt verschillende hulpprogramma's gebruiken, zoals MySQL Workbench Export/Import, Azure Database Migration Service (DMS) en MySQL-dump en -herstel, om Amazon RDS for MySQL te migreren naar Azure Database for MySQL. Het gebruik van de wizard MySQL Workbench-migratie biedt echter een eenvoudige en handige manier om uw Amazon RDS for MySQL-databases te verplaatsen naar Azure Database for MySQL.

Met de wizard Migratie kunt u eenvoudig selecteren welke schema's en objecten u wilt migreren. Hiermee kunt u ook serverlogboeken weergeven om fouten en knelpunten in realtime te identificeren. Als gevolg hiervan kunt u tabellen of databasestructuren en -objecten bewerken en wijzigen tijdens het migratieproces wanneer er een fout wordt gedetecteerd en vervolgens de migratie hervatten zonder dat u opnieuw hoeft op te starten.

Notitie

U kunt ook de migratiewizard gebruiken om andere bronnen te migreren, zoals Microsoft SQL Server, Oracle, PostgreSQL, MariaDB, enzovoort, die buiten het bereik van dit artikel vallen.

Vereisten

Voordat u het migratieproces start, wordt u aangeraden ervoor te zorgen dat verschillende parameters en functies zijn geconfigureerd en correct zijn ingesteld, zoals hieronder wordt beschreven.

  • Zorg ervoor dat de tekenset van de bron- en doeldatabases hetzelfde is.

  • Stel de time-out voor de wachttijd in op een redelijke tijd, afhankelijk van de hoeveelheid gegevens of workload die u wilt importeren of migreren.

  • Stel de max_allowed_packet parameter waarde in op een redelijk bedrag, afhankelijk van de grootte van de database die u wilt importeren of migreren.

  • Controleer of al uw tabellen Gebruikmaken van InnoDB, omdat Azure Database for MySQL Server alleen ondersteuning biedt voor de InnoDB-opslagengine.

  • Verwijder, vervang of wijzig alle triggers, opgeslagen procedures en andere functies met hoofdgebruikers- of supergebruikersdefilicers (Azure Database for MySQL biedt geen ondersteuning voor de bevoegdheden van supergebruikers). Als u de definieerders wilt vervangen door de naam van de beheerder die het importproces uitvoert, voert u de volgende opdracht uit:

    DELIMITER; ;/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`127.0.0.1`*/ /*!50003
    DELIMITER;
    /* Modified to */
    DELIMITER;
    /*!50003 CREATE*//*!50017 DEFINER=`AdminUserName`@`ServerName`*/ /*!50003
    DELIMITER;
    
    
  • Als door de gebruiker gedefinieerde functies (UDF's) worden uitgevoerd op uw databaseserver, moet u de bevoegdheid voor de mysql-database verwijderen. Gebruik de volgende query om te bepalen of er UDF's worden uitgevoerd op uw server:

    SELECT * FROM mysql.func;
    

    Als u ontdekt dat UDF's worden uitgevoerd, kunt u de UDF's verwijderen met behulp van de volgende query:

    DROP FUNCTION your_UDFunction;
    
  • Zorg ervoor dat de server waarop het hulpprogramma wordt uitgevoerd en uiteindelijk de exportlocatie voldoende schijfruimte en rekenkracht (vCores, CPU en geheugen) heeft om de exportbewerking uit te voeren, met name wanneer u een zeer grote database exporteert.

  • Maak een pad tussen het on-premises of AWS-exemplaar en Azure Database for MySQL als de workload zich achter firewalls of andere netwerkbeveiligingslagen bevindt.

Het migratieproces starten

  1. Als u het migratieproces wilt starten, meldt u zich aan bij MySQL Workbench en selecteert u vervolgens het startpictogram.

  2. Selecteer in de linkernavigatiebalk het pictogram Migratiewizard, zoals wordt weergegeven in de onderstaande schermopname.

    MySQL Workbench start screen

    De pagina Overzicht van de wizard Migratie wordt weergegeven, zoals hieronder wordt weergegeven.

    MySQL Workbench Migration Wizard welcome page

  3. Bepaal of er een ODBC-stuurprogramma voor MySQL Server is geïnstalleerd door Open ODBC Beheer istrator te selecteren.

    In ons geval ziet u op het tabblad Stuurprogramma's dat er al twee ODBC-stuurprogramma's voor MySQL Server zijn geïnstalleerd.

    ODBC Data Source Administrator page

    Als er geen MySQL ODBC-stuurprogramma is geïnstalleerd, gebruikt u het MySQL-installatieprogramma dat u hebt gebruikt om MySQL Workbench te installeren om het stuurprogramma te installeren. Zie de volgende bronnen voor meer informatie over de installatie van mySQL ODBC-stuurprogramma's:

  4. Sluit het dialoogvenster ODBC-gegevensbron Beheer istrator en ga door met het migratieproces.

Verbindingsparameters voor brondatabaseserver configureren

  1. Selecteer Migratie starten op de pagina Overzicht.

    De pagina Bronselectie wordt weergegeven. Op deze pagina vindt u informatie over de RDBMS van waaruit u migreert en de parameters voor de verbinding.

  2. Selecteer MySQL in het veld Databasesysteem.

  3. Selecteer in het veld Opgeslagen Verbinding maken ion een van de opgeslagen verbindingsinstellingen voor die RDBMS.

    U kunt verbindingen opslaan door het selectievakje onderaan de pagina te markeren en een naam van uw voorkeur op te geven.

  4. Selecteer standaard TCP/IP in het veld Verbinding maken ion Method.

  5. Geef in het veld Hostnaam de naam op van de brondatabaseserver.

  6. Geef in het veld Poort 3306 op en voer vervolgens de gebruikersnaam en het wachtwoord in om verbinding te maken met de server.

  7. Voer in het veld Database de naam in van de database die u wilt migreren als u deze kent. Laat dit veld anders leeg.

  8. Selecteer Test Verbinding maken ion om de verbinding met uw MySQL Server-exemplaar te controleren.

    Als u de juiste parameters hebt ingevoerd, wordt er een bericht weergegeven dat een geslaagde verbindingspoging aangeeft.

    Source database connection parameters page

  9. Selecteer Volgende.

Verbindingsparameters voor doeldatabaseserver configureren

  1. Stel op de pagina Doelselectie de parameters in om verbinding te maken met uw MySQL Server-doelexemplaren met behulp van een proces dat vergelijkbaar is met die voor het instellen van de verbinding met de bronserver.

  2. Als u een geslaagde verbinding wilt controleren, selecteert u Test Verbinding maken ion.

    Target database connection parameters page

  3. Selecteer Volgende.

Selecteer de schema's die u wilt migreren

De migratiewizard communiceert met uw Exemplaar van MySQL Server en haalt een lijst met schema's op van de bronserver.

  1. Selecteer Logboeken weergeven om deze bewerking weer te geven.

    In de onderstaande schermopname ziet u hoe de schema's worden opgehaald van de brondatabaseserver.

    Fetch schemas list page

  2. Selecteer Volgende om te controleren of alle schema's zijn opgehaald.

    In de onderstaande schermopname ziet u de lijst met opgehaalde schema's.

    Schemas selection page

    U kunt alleen schema's migreren die in deze lijst worden weergegeven.

  3. Selecteer de schema's die u wilt migreren en selecteer vervolgens Volgende.

Objectmigratie

Geef vervolgens de objecten op die u wilt migreren.

  1. Selecteer Selectie weergeven en selecteer vervolgens onder Beschikbare objecten de objecten die u wilt migreren en voeg deze toe.

    Wanneer u de objecten hebt toegevoegd, worden deze weergegeven onder Objecten naar Migreren, zoals wordt weergegeven in de onderstaande schermopname.

    Source objects selection page

    In dit scenario hebben we alle tabelobjecten geselecteerd.

  2. Selecteer Volgende.

Gegevens bewerken

In deze sectie hebt u de mogelijkheid om de objecten te bewerken die u wilt migreren.

  1. Op de pagina Handmatig bewerken ziet u de vervolgkeuzelijst Weergave in de rechterbovenhoek.

    Manual Editing selection page

    De vervolgkeuzelijst Weergave bevat drie items:

    • Alle objecten : geeft alle objecten weer. Met deze optie kunt u de gegenereerde SQL handmatig bewerken voordat u deze toepast op de doeldatabaseserver. Hiervoor selecteert u het object en selecteert u Code en berichten weergeven. U kunt de gegenereerde MySQL-code bekijken (en bewerken) die overeenkomt met het geselecteerde object.
    • Migratieproblemen : geeft eventuele problemen weer die zijn opgetreden tijdens de migratie, die u kunt controleren en controleren.
    • Kolomtoewijzing : geeft informatie over kolomtoewijzing weer. U kunt deze weergave gebruiken om de naam te bewerken en de kolom van het doelobject te wijzigen.
  2. Selecteer Volgende.

De doeldatabase maken

  1. Schakel het selectievakje Schema maken in doel-RDBMS in.

    U kunt er ook voor kiezen om al bestaande schema's te behouden, zodat ze niet worden gewijzigd of bijgewerkt.

    Target Creation Options page

    In dit artikel hebben we ervoor gekozen om het schema te maken in RDBMS- doel, maar u kunt ook het selectievakje Een SQL-scriptbestand maken inschakelen om het bestand op uw lokale computer of voor andere doeleinden op te slaan.

  2. Selecteer Volgende.

Het MySQL-script uitvoeren om de databaseobjecten te maken

Omdat we ervoor hebben gekozen om een schema te maken in de doel-RDBMS, wordt het gemigreerde SQL-script uitgevoerd op de MySQL-doelserver. U kunt de voortgang bekijken, zoals wordt weergegeven in de onderstaande schermafbeelding:

Create Schemas page

  1. Nadat het maken van de schema's en de bijbehorende objecten is voltooid, selecteert u Volgende.

    Op de pagina Doelresultaten maken ziet u een lijst met de objecten die zijn gemaakt en een melding van eventuele fouten die zijn opgetreden tijdens het maken ervan, zoals wordt weergegeven in de volgende schermopname.

    Create Target Results page

  2. Bekijk de details op deze pagina om te controleren of alles is voltooid zoals bedoeld.

    Voor dit artikel hebben we geen fouten. Als er geen foutberichten hoeven te worden opgelost, kunt u het migratiescript bewerken.

  3. Selecteer in het vak Object het object dat u wilt bewerken.

  4. Wijzig uw SQL-script onder SQL CREATE-script voor het geselecteerde object en selecteer Vervolgens Toepassen om de wijzigingen op te slaan.

  5. Selecteer Objecten opnieuw maken om het script uit te voeren, inclusief uw wijzigingen.

    Als het script mislukt, moet u mogelijk het gegenereerde script bewerken. Vervolgens kunt u het SQL-script handmatig herstellen en alles opnieuw uitvoeren. In dit artikel wijzigen we niets, dus laten we het script zoals het is.

  6. Selecteer Volgende.

Gegevens overdragen

Dit deel van het proces verplaatst gegevens van het bronexemplaren van de MySQL Server-database naar het zojuist gemaakte MySQL-database-exemplaar. Gebruik de pagina Voor het instellen van gegevensoverdracht om dit proces te configureren.

Data Transfer Setup page

Deze pagina bevat opties voor het instellen van de gegevensoverdracht. Voor de doeleinden van dit artikel accepteren we de standaardwaarden.

  1. Selecteer Volgende om te beginnen met het daadwerkelijke proces van het overdragen van gegevens.

    De voortgang van het proces voor gegevensoverdracht wordt weergegeven zoals wordt weergegeven in de volgende schermopname.

    Bulk Data Transfer page

    Notitie

    De duur van het proces voor gegevensoverdracht is rechtstreeks gerelateerd aan de grootte van de database die u migreert. Hoe groter de brondatabase, hoe langer het proces duurt, mogelijk tot een paar uur voor grotere databases.

  2. Nadat de overdracht is voltooid, selecteert u Volgende.

    De pagina Migratierapport wordt weergegeven met een rapport met een samenvatting van het hele proces, zoals wordt weergegeven in de onderstaande schermopname:

    Migration Progress Report page

  3. Selecteer Voltooien om de wizard Migratie te sluiten.

    De migratie is nu voltooid.

Consistentie van de gemigreerde schema's en tabellen controleren

  1. Meld u vervolgens aan bij uw mySQL-doeldatabase-exemplaar om te controleren of de gemigreerde schema's en tabellen consistent zijn met uw MySQL-brondatabase.

    In ons geval ziet u dat alle schema's (sakila, moda, items, klanten, kleding, wereld en world_x) van de Amazon RDS for MySQL: MyjolieDB-database zijn gemigreerd naar de Azure Database for MySQL: azmysql-instantie .

  2. Als u het aantal tabellen en rijen wilt controleren, voert u de volgende query uit op beide exemplaren:

    SELECT COUNT (*) FROM sakila.actor;

    In de onderstaande schermopname ziet u dat het aantal rijen voor Amazon RDS MySQL 200 is, dat overeenkomt met het Azure Database for MySQL-exemplaar.

    Table and Row size source database

    Table and Row size target database

    Hoewel u de bovenstaande query op elk schema en elke tabel kunt uitvoeren, is dat nogal wat werk als u te maken hebt met honderdduizenden of zelfs miljoenen tabellen. U kunt de onderstaande query's gebruiken om het schema (database) en de tabelgrootte te controleren.

  3. Voer de volgende query uit om de databasegrootte te controleren:

    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. Voer de volgende query uit om de tabelgrootte te controleren:

    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;
    

    U ziet in de onderstaande schermopnamen dat de grootte van het schema (database) van het Amazon RDS MySQL-bronexemplaren hetzelfde is als die van het Azure Database for MySQL-doelexemplaren.

    Database size source database

    Database size target database

    Omdat de grootte van het schema (de database) in beide exemplaren hetzelfde is, is het niet echt nodig om afzonderlijke tabelgrootten te controleren. In elk geval kunt u altijd de bovenstaande query gebruiken om de tabelgrootten te controleren, indien nodig.

    U hebt nu bevestigd dat de migratie is voltooid.

Volgende stappen