Delen via


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. Schermopname van de binlogpositie van een offlinemigratie van Azure Database Migration Service.
  • 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.

  1. Selecteer in het Azure Portal Alle diensten, zoek naar Azure Database Migration Service, en selecteer vervolgens Azure Database Migration Service.

    Schermopname van een zoek naar alle exemplaren van Azure Database Migration Service.

  2. Selecteer in de zoekresultaten het DMS-exemplaar dat u hebt gemaakt voor het uitvoeren van de voorlopige offlinemigratie en selecteer vervolgens + Nieuw migratieproject.

    Schermopname van een nieuw migratieproject selecteren.

  3. 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.

  1. Voer in het scherm Bron selecteren de naam, serverpoort, gebruikersnaam en wachtwoord van de bronserver in. Schermopname van het scherm Brondetails toevoegen.

  2. 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. Schermopname van een doel selecteren.

  3. 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. Schermopname van een binlog selecteren.

  4. Selecteer Volgende: Selecteer databases>> en selecteer vervolgens op het tabblad Databases selecteren de serverdatabaseobjecten die u wilt migreren. Schermopname van een select-database.

  5. Selecteer Volgende: Selecteer tabellen om naar het tabblad Tabellen>> selecteren te navigeren. Selecteer alle tabellen die u wilt migreren. Schermopname van een tabel Selecteren.

  6. 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.

  7. 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. Schermopname van een samenvatting.

  8. 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. Schermopname van de status Actief.

De migratie bewaken

  1. 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. Schermopname van een cutover uitvoeren.

  2. 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. Schermopname van een cutover-bevestiging uitvoeren. Zodra de cutover is voltooid, bent u klaar om validaties en stappen na de migratie uit te voeren. Schermopname van een cutover uitvoeren voltooid.

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:
    1. Selecteer in het Azure Portal Alle diensten, zoek naar Azure Database Migration Service, en selecteer vervolgens Azure Database Migration Service.
    2. Selecteer uw migratieservice-exemplaar in de zoekresultaten en selecteer vervolgens Service verwijderen.
    3. 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