Amazon RDS for MySQL migreren naar Azure Database for MySQL met behulp van MySQL Workbench
VAN TOEPASSING OP:
Azure Database for MySQL - Enkele server
U kunt verschillende hulpprogramma's gebruiken, zoals MySQL Workbench Export/Import, Azure Database Migration Service (DMS) en MySQL dumpen en herstellen, om Amazon RDS for MySQL te migreren naar Azure Database for MySQL. Het gebruik van de migratiewizard van MySQL Workbench biedt echter een eenvoudige en handige manier om uw Amazon RDS voor MySQL-databases te verplaatsen naar Azure Database for MySQL.
Met de migratiewizard kunt u eenvoudig selecteren welke schema's en objecten u wilt migreren. Ook kunt u 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. Vervolgens kunt u de migratie hervatten zonder dat u opnieuw moet opstarten.
Notitie
U kunt de migratiewizard ook 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, is het raadzaam dat u ervoor zorgt dat verschillende parameters en functies correct zijn geconfigureerd en ingesteld, zoals hieronder wordt beschreven.
Zorg ervoor dat de tekenset van de bron- en doeldatabase 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 parameterin op een redelijk bedrag, afhankelijk van de grootte van de database die u wilt importeren of migreren.Controleer of al uw tabellen InnoDB gebruiken, omdat Azure Database for MySQL Server alleen de InnoDB-Storage ondersteunt.
Verwijder, vervang of wijzig alle triggers, opgeslagen procedures en andere functies die hoofdgebruiker of supergebruikerdefinizers bevatten (Azure Database for MySQL biedt geen ondersteuning voor de bevoegdheid Supergebruiker). Voer de volgende opdracht uit om de definities te vervangen door de naam van de gebruiker met beheerdersrechten die het importproces wordt uitgevoerd:
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 UF's worden uitgevoerd op uw server:
SELECT * FROM mysql.func;Als u ontdekt dat UF'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, over voldoende schijfruimte en rekenkracht beschikt (vCores, CPU en geheugen) om de exportbewerking uit te voeren, met name bij het exporteren van een zeer grote database.
Maak een pad tussen het on-premises of AWS-exemplaar en Azure Database for MySQL als de workload zich achter firewalls of andere netwerkbeveiligingslagen bevinden.
Het migratieproces starten
Meld u aan bij MySQL Workbench en selecteer vervolgens het startpictogram om het migratieproces te starten.
Selecteer in de navigatiebalk aan de linkerkant het pictogram Migratiewizard, zoals wordt weergegeven in de onderstaande schermopname.
De pagina Overzicht van de wizard Migratie wordt weergegeven, zoals hieronder wordt weergegeven.
Als u een ODBC-stuurprogramma voor MySQL Server hebt geïnstalleerd, selecteert u ODBC-beheerder openen.
In ons geval ziet u op het tabblad Stuurprogramma's dat er al twee ODBC-stuurprogramma's voor MySQL Server zijn geïnstalleerd.
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 het MySQL ODBC-stuurprogramma:
Sluit het dialoogvenster ODBC-gegevensbronbeheerder en ga door met het migratieproces.
Verbindingsparameters voor de brondatabaseserver configureren
Selecteer op de pagina Overzicht de optie Migratie starten.
De pagina Bronselectie wordt weergegeven. Gebruik deze pagina om informatie op te geven over de RDBMS van waar u migreert en de parameters voor de verbinding.
Selecteer mySQL in het veld Databasesysteem.
Selecteer in het veld Opgeslagen verbinding een van de opgeslagen verbindingsinstellingen voor die RDBMS.
U kunt verbindingen opslaan door het selectievakje onder aan de pagina in te stellen en een naam van uw voorkeur op te geven.
Selecteer in het veld Verbindingsmethode de optie Standaard TCP/IP.
Geef in het veld Hostnaam de naam van de brondatabaseserver op.
Geef in het veld Poort 3306 op en voer vervolgens de gebruikersnaam en het wachtwoord in om verbinding te maken met de server.
Voer in het veld Database de naam in van de database die u wilt migreren als u deze kent; laat anders dit veld leeg.
Selecteer Verbinding testen om de verbinding met uw MySQL Server-exemplaar te controleren.
Als u de juiste parameters hebt ingevoerd, wordt er een bericht weergegeven met een geslaagde verbindingspoging.
Selecteer Next.
Verbindingsparameters voor doeldatabaseserver configureren
Stel op de pagina Doelselectie de parameters in om verbinding te maken met uw doel-MySQL Server-exemplaar met behulp van een proces dat vergelijkbaar is met dat voor het instellen van de verbinding met de bronserver.
Selecteer Verbinding testen om te controleren of de verbinding is geslaagd.
Selecteer Next.
De schema's selecteren die u wilt migreren
De migratiewizard communiceert met uw MySQL Server-exemplaar en haalt een lijst met schema's op van de bronserver.
Selecteer Logboeken weergeven om deze bewerking weer te geven.
In de onderstaande schermopname ziet u hoe de schema's worden opgehaald van de brondatabaseserver.
Selecteer Volgende om te controleren of alle schema's zijn opgehaald.
In de onderstaande schermopname ziet u de lijst met opgehaalde schema's.
U kunt alleen schema's migreren die in deze lijst worden weergegeven.
Selecteer de schema's die u wilt migreren en selecteer vervolgens Volgende.
Objectmigratie
Geef vervolgens de objecten op die u wilt migreren.
Selecteer Selectie tonen en voeg vervolgens onder Beschikbare objecten de objecten toe die u wilt migreren.
Wanneer u de objecten hebt toegevoegd, worden deze weergegeven onder Objecten om te migreren, zoals wordt weergegeven in de onderstaande schermopname.
In dit scenario hebben we alle tabelobjecten geselecteerd.
Selecteer Next.
Gegevens bewerken
In deze sectie kunt u de objecten bewerken die u wilt migreren.
Op de pagina Handmatig bewerken ziet u de vervolgkeuzelijst Weergave in de rechterbovenhoek.
Het vervolgkeuzevak Weergave bevat drie items:
- Alle objecten: geeft alle objecten weer. Met deze optie kunt u de gegenereerde gegevens handmatig SQL ze toe te passen op de doeldatabaseserver. Hiervoor selecteert u het -object en selecteert u Code en berichten tonen. U kunt de gegenereerde MySQL-code zien (en bewerken!) die overeenkomt met het geselecteerde object.
- Migratieproblemen: geeft alle 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.
Selecteer Next.
De doeldatabase maken
Schakel het selectievakje Schema maken in doel-RDBMS in.
U kunt er ook voor kiezen om bestaande schema's te behouden, zodat ze niet worden gewijzigd of bijgewerkt.
In dit artikel hebben we ervoor gekozen om het schema te maken in doel-RDBMS, maar u kunt ook het selectievakje Een SQL-scriptbestand maken in om het bestand op uw lokale computer of voor andere doeleinden op te slaan.
Selecteer Next.
Het MySQL-script uitvoeren om de databaseobjecten te maken
Omdat we hebben gekozen om een schema te maken in de doel-RDBMS, wordt het gemigreerde SQL uitgevoerd in de doelserver van MySQL. U kunt de voortgang bekijken zoals wordt weergegeven in de onderstaande schermopname:
Nadat de schema's en de objecten zijn gemaakt, selecteert u Volgende.
Op de pagina Doelresultaten maken ziet u een lijst met de gemaakte objecten en meldingen van fouten die zijn aangetroffen tijdens het maken ervan, zoals wordt weergegeven in de volgende schermopname.
Bekijk de details op deze pagina om te controleren of alles is voltooid zoals bedoeld.
Voor dit artikel zijn er geen fouten. Als u geen foutberichten hoeft op te pakken, kunt u het migratiescript bewerken.
Selecteer in het vak Object het object dat u wilt bewerken.
Wijzig onder SQL CREATE-script voor het geselecteerde object uw SQL script en selecteer vervolgens Toepassen om de wijzigingen op te slaan.
Selecteer Objecten opnieuw maken om het script met inbegrip van uw wijzigingen uit te voeren.
Als het script mislukt, moet u mogelijk het gegenereerde script bewerken. Vervolgens kunt u het script handmatig SQL en alles opnieuw uitvoeren. In dit artikel wijzigen we niets, dus laten we het script zoals het is.
Selecteer Next.
Gegevens overdragen
In dit deel van het proces worden gegevens verplaatst van het bron-exemplaar van de MySQL Server-database naar uw zojuist gemaakte doeldatabase-exemplaar van MySQL. Gebruik de pagina Gegevensoverdracht instellen om dit proces te configureren.
Deze pagina bevat opties voor het instellen van de gegevensoverdracht. Voor de doeleinden van dit artikel accepteren we de standaardwaarden.
Selecteer Volgende om te beginnen met het daadwerkelijke proces voor het overdragen van gegevens.
De voortgang van het gegevensoverdrachtproces wordt weergegeven zoals wordt weergegeven in de volgende schermopname.
Notitie
De duur van het gegevensoverdrachtproces is direct gerelateerd aan de grootte van de database die u migreert. Hoe groter de brondatabase, hoe langer het proces duurt, mogelijk tot enkele uren voor grotere databases.
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 op de onderstaande schermopname:
Selecteer Voltooien om de migratiewizard te sluiten.
De migratie is nu voltooid.
Consistentie van de gemigreerde schema's en tabellen controleren
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, klant, kleding, wereld en world_x) van de Amazon RDS for MySQL: Myj hebt gemigreerd naar de Azure Database for MySQL: azmysql-instantie.
Voer de volgende query uit op beide exemplaren om het aantal tabel- en rijen te controleren:
SELECT COUNT (*) FROM sakila.actor;In de onderstaande schermopname ziet u dat het aantal rijen voor Amazon RDS MySQL 200 is, wat overeenkomt met het Azure Database for MySQL exemplaar.
Hoewel u de bovenstaande query kunt uitvoeren op elk enkel schema en elke tabel, is dat heel wat werk als u te maken hebt met honderdduizenden of zelfs miljoenen tabellen. U kunt de onderstaande query's gebruiken om in plaats daarvan het schema (database) en de tabelgrootte te controleren.
Voer de volgende query uit om de grootte van de database 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;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;In de onderstaande schermafbeeldingen ziet u dat de grootte van het schema (database) van het bron-Amazon RDS MySQL-exemplaar hetzelfde is als die van het doel-Azure Database for MySQL-exemplaar.
Omdat de grootte van het schema (database) in beide gevallen hetzelfde is, is het niet echt nodig om afzonderlijke tabelgrootten te controleren. U kunt in elk geval altijd de bovenstaande query gebruiken om uw tabelgrootten te controleren, indien nodig.
U hebt nu bevestigd dat de migratie is voltooid.
Volgende stappen
- Zie voor meer informatie over het migreren van databases Azure Database for MySQL databasemigratiehandleiding.
- Bekijk de video MySQL/PostgreSQL-appseenvoudig migreren naar een beheerde Azure-service. Deze bevat een demo waarin wordt getoond hoe u MySQL-apps migreert naar Azure Database for MySQL.