Zelfstudie: Online migreren van MySQL naar Azure Database for MySQL - Flexible Server met behulp van dms-scenario voor het repliceren van wijzigingen
Notitie
Dit artikel bevat verwijzingen naar de term slave, een term die Microsoft niet meer gebruikt. Zodra de term uit de software wordt verwijderd, verwijderen we deze uit dit artikel.
U kunt uw on-premises of andere cloudservices MySQL Server migreren naar Azure Database for MySQL – Flexible Server met behulp van Azure Database Migration Service (DMS), een volledig beheerde service die is ontworpen om naadloze migraties van meerdere databasebronnen naar Azure-gegevensplatforms mogelijk te maken. In deze zelfstudie voeren we een onlinemigratie uit van een voorbeelddatabase van een on-premises MySQL-server naar een Azure Database for MySQL - Flexible Server (beide met versie 5.7) met behulp van een DMS-migratieactiviteit voor het repliceren van wijzigingen.
Door een migratie van replicatiewijzigingen uit te voeren, met ons offlinescenario met Transactionele consistentie inschakelen, kunnen bedrijven hun databases migreren naar Azure terwijl de databases operationeel blijven. Met andere woorden, migraties kunnen worden voltooid met minimale downtime voor kritieke toepassingen, waardoor de impact op beschikbaarheid op serviceniveau en ongemak voor hun eindgebruikers wordt beperkt.
In deze zelfstudie leert u het volgende:
- Maak een MySQL-migratieproject voor het repliceren van wijzigingen in DMS.
- Voer de migratie Wijzigingen repliceren uit.
- Houd de migratie in de gaten.
- Voer de stappen na de migratie uit.
Vereisten
Voor het voltooien van deze zelfstudie hebt u het volgende nodig:
- Gebruik het opdrachtregelprogramma MySQL van uw keuze om te bepalen of log_bin is ingeschakeld op de bronserver. Binlog is niet altijd standaard ingeschakeld, dus controleer of deze is ingeschakeld voordat u de migratie start. Voer de opdracht SHOW VARIABLES LIKE 'log_bin' uit om te bepalen of log_bin is ingeschakeld op de bronserver.
- Zorg ervoor dat de gebruiker de machtiging 'REPLICATION_APPLIER' of 'BINLOG_ADMIN' heeft op de doelserver voor het toepassen van het bin-logboek.
- Zorg ervoor dat de gebruiker de machtiging REPLICATION SLAVE heeft op de doelserver.
- Zorg ervoor dat de gebruiker de machtiging 'REPLICATION CLIENT' en 'REPLICATION SLAVE' heeft op de bronserver voor het lezen en toepassen van het bin-logboek.
- Voer een offlinemigratiescenario uit met Transactionele consistentie inschakelen om het bin-logboekbestand en de positie op te halen.
- Als u een migratie van wijzigingen repliceert, configureert u de parameter binlog_expire_logs_seconds op de bronserver om ervoor te zorgen dat binlog-bestanden niet worden opgeschoond voordat de replica de wijzigingen doorvoert. We raden ten minste twee dagen aan om te beginnen. Na een geslaagde cutover kan de waarde opnieuw worden ingesteld.
Beperkingen
Houd bij de voorbereiding op de migratie rekening met de volgende beperkingen.
- Wanneer u een migratie van replicatiewijzigingen uitvoert, moet de naam van de database op de doelserver hetzelfde zijn als de naam op de bronserver.
- Ondersteuning is beperkt tot de binlog-indeling ROW.
- Replicatie van DDL-wijzigingen wordt alleen ondersteund wanneer u de optie voor replicatie van gegevensdefinities en beheerinstructies hebt geselecteerd voor geselecteerde objecten in de DMS-gebruikersinterface. De replicatiefunctie ondersteunt het repliceren van gegevensdefinities en beheerinstructies die plaatsvinden na de initiële belasting en die zijn vastgelegd in het binaire logboek naar het doel.
- Het wijzigen van de naam van databases of tabellen wordt niet ondersteund bij het repliceren van wijzigingen.
Een migratieproject voor wijzigingen repliceren maken
Voer de volgende stappen uit om een migratieproject voor wijzigingen repliceren te maken.
Selecteer in het Azure Portal Alle diensten, zoek naar Azure Database Migration Service, en selecteer vervolgens Azure Database Migration Service.
Selecteer in de zoekresultaten het DMS-exemplaar dat u hebt gemaakt voor het uitvoeren van de voorlopige offlinemigratie en selecteer vervolgens + Nieuw migratieproject.
Geef op de pagina Nieuw migratieproject een naam op voor het project, selecteer MySQL in het selectievak Bronservertype, selecteer in het selectievak doelservertype de optie Azure Database For MySQL - Flexible Server, selecteer in het selectievak Migratieactiviteit, repliceer wijzigingen en selecteer vervolgens Activiteit maken en uitvoeren.
Het migratieproject configureren
Voer de volgende stappen uit om uw DMS-migratieproject te configureren.
Voer in het scherm Bron selecteren de naam, serverpoort, gebruikersnaam en wachtwoord van de bronserver in.
Selecteer Volgende: Selecteer het doel>> en zoek vervolgens in het scherm Doel selecteren de doelserver op basis van het abonnement, de locatie en de resourcegroep. De gebruikersnaam wordt automatisch ingevuld en geef vervolgens het wachtwoord op voor de flexibele doelserver.
Selecteer Volgende: Selecteer binlog>> en voer vervolgens in het scherm Binlog selecteren de naam van het binlog-bestand en de binlogpositie in zoals vastgelegd in de eerdere uitvoering van het offlinemigratiescenario.
Selecteer Volgende: Selecteer databases>> en selecteer vervolgens op het tabblad Databases selecteren de serverdatabaseobjecten die u wilt migreren.
Selecteer Volgende: Selecteer tabellen om naar het tabblad Tabellen>> selecteren te navigeren. Selecteer alle tabellen die u wilt migreren.
Nadat u een schemamigratie hebt geconfigureerd, selecteert u Controleren en de migratie starten.
Notitie
U hoeft alleen naar het tabblad Migratie-instellingen configureren te gaan als u problemen met mislukte migraties probeert op te lossen.
Geef op het tabblad Samenvatting in het tekstvak Activiteitsnaam een naam op voor de migratieactiviteit en controleer vervolgens de samenvatting om ervoor te zorgen dat de bron- en doeldetails overeenkomen met wat u eerder hebt opgegeven.
Selecteer Migratie starten.
Het venster van de migratieactiviteit wordt weergegeven en de Status van de activiteit is Initialiseren. De status wordt gewijzigd in Uitvoeren wanneer de tabelmigraties worden gestart.
De migratie bewaken
Bewaak de seconden achter de bron en zodra deze 0 nadert, ga verder met het starten van cutover door naar het menutabblad Cutover starten boven aan het scherm van de migratieactiviteit te navigeren.
Volg de stappen in het cutover-venster voordat u klaar bent om een cutover uit te voeren. Nadat u alle stappen hebt voltooid, selecteert u Bevestigen en selecteert u Vervolgens Toepassen. Zodra de cutover is voltooid, bent u klaar om validaties en stappen na de migratie uit te voeren.
Activiteiten na de migratie uitvoeren
Wanneer de migratie is voltooid, moet u de volgende activiteiten na de migratie voltooien.
- Test de integriteit van de toepassing op basis van de doeldatabase om de migratie te certificeren.
- Werk de connection string bij zodat deze verwijst naar de nieuwe flexibele server.
- Verwijder de bronserver nadat u de toepassingscontinuïteit hebt gegarandeerd.
- Voer de volgende stappen uit om de DMS-resources op te schonen:
- Selecteer in het Azure Portal Alle diensten, zoek naar Azure Database Migration Service, en selecteer vervolgens Azure Database Migration Service.
- Selecteer uw migratieservice-exemplaar in de zoekresultaten en selecteer vervolgens Service verwijderen.
- Geef in het bevestigingsdialoogvenster in het tekstvak TYPE DE NAAM VAN DE DATABASE MIGRATION SERVICE de naam van de instantie op en selecteer vervolgens Verwijderen.
Best practices voor migratie
Houd bij het uitvoeren van een migratie rekening met de volgende aanbevolen procedures.
- Neem als onderdeel van detectie en evaluatie de server-SKU, het CPU-gebruik, de opslag, de databasegrootten en het uitbreidingsgebruik als een aantal van de kritieke gegevens om te helpen met migraties.
- Testmigraties uitvoeren voordat u migreert voor productie:
- Testmigraties zijn belangrijk om ervoor te zorgen dat u alle aspecten van de databasemigratie behandelt, inclusief het testen van toepassingen. De aanbevolen procedure is om te beginnen met het uitvoeren van een migratie volledig voor testdoeleinden. Nadat een zojuist gestarte migratie de fase Gegevenswijzigingen repliceren met minimale vertraging heeft gestart, gebruikt u alleen het flexibele serverdoel voor het uitvoeren van testworkloads. Gebruik dit doel om de toepassing te testen om de verwachte prestaties en resultaten te garanderen. Als u migreert naar een hogere MySQL-versie, test u op toepassingscompatibiliteit.
- Nadat het testen is voltooid, kunt u de productiedatabases migreren. Op dit moment moet u de dag en tijd van de productiemigratie afronden. In het ideale geval is er op dit moment weinig gebruik van toepassingen. Alle belanghebbenden die betrokken moeten zijn, moeten beschikbaar en gereed zijn. Voor de productiemigratie is een nauwe bewaking vereist. Voor een onlinemigratie moet de replicatie worden voltooid voordat u de cutover uitvoert om gegevensverlies te voorkomen.
- Leid alle afhankelijke toepassingen om om toegang te krijgen tot de nieuwe primaire database en de bronserver alleen-lezen te maken. Open vervolgens de toepassingen voor productiegebruik.
- Nadat de toepassing wordt uitgevoerd op de flexibele doelserver, controleert u de databaseprestaties nauwkeurig om te zien of afstemmen van prestaties is vereist.
Volgende stappen
- Zie Overzicht - Azure Database for MySQL Flexibele server voor informatie over Azure Database for MySQL Flexibele server.
- Zie Wat is Azure Database Migration Service?voor meer informatie over Azure Database Migration Service.
- Zie Bekende problemen met migraties naar Azure Database for MySQL - Flexible Server met behulp van DMS voor informatie over bekende problemen en beperkingen bij het migreren naar Azure Database for MySQL - Flexible Server.
- Zie Veelvoorkomende problemen : Azure Database Migration Service voor informatie over bekende problemen en beperkingen bij het uitvoeren van migraties met behulp van DMS.
- Zie het artikel Problemen met het verbinden van brondatabases voor het oplossen van verbindingsproblemen met brondatabases tijdens het gebruik van DMS.