Zelfstudie: Azure Database for MySQL - Enkele server offline migreren naar flexibele server met behulp van DMS via Azure Portal
U kunt een exemplaar van Azure Database for MySQL migreren – Enkele server naar Azure Database for MySQL – Flexibele 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 offlinemigratie uit van een voorbeelddatabase van een Enkele Azure Database for MySQL-server naar een flexibele MySQL-server (beide met versie 5.7) met behulp van een DMS-migratieactiviteit.
DMS biedt ondersteuning voor het migreren van MySQL-servers met een lagere versie (v5.6 en hoger) naar hogere versies. Daarnaast biedt DMS ondersteuning voor migraties tussen regio's, meerdere resourcegroepen en abonnementen, zodat u een regio, resourcegroep en abonnement kunt selecteren voor de doelserver die verschilt van wat is opgegeven voor uw bronserver.
Belangrijk
Voor onlinemigraties kunt u de functie Transactionele consistentie inschakelen gebruiken die door DMS wordt ondersteund, samen met replicatie van gegevens of wijzigingen repliceren. Daarnaast kunt u het onlinemigratiescenario gebruiken om te migreren door de zelfstudie hier te volgen.
In deze zelfstudie leert u het volgende:
- Implementeer best practices voor het maken van een flexibele server voor snellere belasting van gegevens met behulp van DMS.
- Een flexibele doelserver maken en configureren.
- Maak een DMS-exemplaar.
- Maak een MySQL-migratieproject in DMS.
- Migreer een MySQL-schema met behulp van DMS.
- De migratie uitvoeren.
- Houd de migratie in de gaten.
- Voer de stappen na de migratie uit.
- Best practices implementeren voor het uitvoeren van een migratie.
Vereisten
Voor het voltooien van deze zelfstudie hebt u het volgende nodig:
Maak of gebruik een bestaand exemplaar van Azure Database for MySQL - Enkele server (de bronserver).
Als u een schemamigratie wilt voltooien, heeft de gebruiker die de migratie uitvoert op de bronserver de volgende bevoegdheden nodig:
- Select-bevoegdheid op serverniveau op de bron.
- Als de gebruiker weergaven migreert, moet de gebruiker de bevoegdheid SHOW VIEW hebben op de bronserver en de bevoegdheid CREATE VIEW op de doelserver.
- Als u triggers migreert, moet de gebruiker de bevoegdheid TRIGGER hebben op de bron- en doelserver.
- Als u routines (procedures en/of functies) migreert, moet de gebruiker beschikken over de bevoegdheden CREATE ROUTINE en ALTER ROUTINE op serverniveau op het doel.
- Als de gebruiker gebeurtenissen migreert, moet de gebruiker de bevoegdheid GEBEURTENIS hebben op de bron- en doelserver.
- Als gebruikers/aanmeldingen worden gemigreerd, moet de gebruiker de bevoegdheid CREATE USER hebben op de doelserver.
- De bevoegdheid DROP op serverniveau op het doel om tabellen te verwijderen die mogelijk al bestaan. Bijvoorbeeld wanneer u een migratie opnieuw probeert uit te voeren.
- De bevoegdheid VERWIJZINGEN op serverniveau op het doel om tabellen met refererende sleutels te maken.
- Als de gebruiker migreert naar MySQL 8.0, moet de gebruiker de bevoegdheid 'SESSION_VARIABLES_ADMIN' hebben op de doelserver.
- 'CREATE' -bevoegdheid op serverniveau op het doel.
- De bevoegdheid INSERT op serverniveau op het doel.
- 'UPDATE' -bevoegdheid op serverniveau op het doel.
- De bevoegdheid DELETE op serverniveau op het doel.
Beperkingen
Houd bij de voorbereiding op de migratie rekening met de volgende beperkingen.
Bij het migreren van niet-tabelobjecten biedt DMS geen ondersteuning voor het wijzigen van de naam van databases.
Wanneer u migreert naar een doelserver waarvoor bin_log is ingeschakeld, moet u log_bin_trust_function_creators inschakelen om routines en triggers te maken.
Bij het migreren van het schema biedt DMS geen ondersteuning voor het maken van een database op de doelserver.
Momenteel biedt DMS geen ondersteuning voor het migreren van het DEFINER-component voor objecten. Alle objecttypen met definers op de bron worden verwijderd en na de migratie wordt het standaarddefinitieprogramma voor tabellen ingesteld op de aanmelding die wordt gebruikt om de migratie uit te voeren.
Momenteel ondersteunt DMS alleen het migreren van een schema als onderdeel van gegevensverplaatsing. Als er niets is geselecteerd voor gegevensverplaatsing, wordt de schemamigratie niet uitgevoerd. Als u een tabel voor schemamigratie selecteert, wordt deze ook geselecteerd voor gegevensverplaatsing.
Best practices voor het maken van een flexibele server voor het sneller laden van gegevens met behulp van DMS
DMS ondersteunt migraties tussen regio's, meerdere resourcegroepen en abonnementen, zodat u de juiste regio, resourcegroep en abonnement voor uw flexibele doelserver kunt selecteren. Voordat u uw flexibele doelserver maakt, moet u rekening houden met de volgende configuratierichtlijnen om ervoor te zorgen dat gegevens sneller worden geladen met behulp van DMS.
Selecteer de rekenkracht en rekenlaag voor de flexibele doelserver op basis van de prijscategorie en VCores van de bronserver op basis van de details in de volgende tabel.
Prijscategorie voor één server VCores met één server Rekenkracht van flexibele server Rekenlaag van flexibele server Basic 1 1 Algemeen gebruik Standard_D16ds_v4 Basic 1 2 Algemeen gebruik Standard_D16ds_v4 Algemeen gebruik 1 4 Algemeen gebruik Standard_D16ds_v4 Algemeen gebruik 1 8 Algemeen gebruik Standard_D16ds_v4 Algemeen gebruik 16 Algemeen gebruik Standard_D16ds_v4 Algemeen gebruik 32 Algemeen gebruik Standard_D32ds_v4 Algemeen gebruik 64 Algemeen gebruik Standard_D64ds_v4 Geoptimaliseerd geheugen 4 Bedrijfskritiek Standard_E4ds_v4 Geoptimaliseerd geheugen 8 Bedrijfskritiek Standard_E8ds_v4 Geoptimaliseerd geheugen 16 Bedrijfskritiek Standard_E16ds_v4 Geoptimaliseerd geheugen 32 Bedrijfskritiek Standard_E32ds_v4 1 Voor de migratie selecteert u Algemeen gebruik 16 VCores compute voor de flexibele doelserver voor snellere migraties. Schaal terug naar de gewenste rekenkracht voor de doelserver nadat de migratie is voltooid door de aanbeveling voor de rekenkracht in de sectie Activiteiten na migratie uitvoeren verderop in dit artikel te volgen.
De MySQL-versie voor de beoogde flexibele server moet groter zijn dan of gelijk zijn aan de versie van de bronserver met één server.
Tenzij u de flexibele doelserver in een specifieke zone moet implementeren, stelt u de waarde van de parameter Beschikbaarheidszone in op 'Geen voorkeur'.
Voor netwerkconnectiviteit selecteert u op het tabblad Netwerken de optie Privétoegang als voor de bronserver privé-eindpunten of privékoppelingen zijn geconfigureerd. Selecteer anders Openbare toegang.
Kopieer alle firewallregels van de bronserver naar de flexibele doelserver.
Kopieer alle naam-/waardetags van de enkele server naar de flexibele server tijdens het maken zelf.
De flexibele doelserver maken en configureren
Maak met deze aanbevolen procedures uw flexibele doelserver en configureer deze vervolgens.
Maak de flexibele doelserver. Zie de quickstart voor begeleide stappen: Een exemplaar van Azure Database for MySQL maken met Azure Portal.
Ga als volgt te werk om de zojuist gemaakte flexibele doelserver te configureren:
- De gebruiker die de migratie uitvoert, vereist de volgende machtigingen:
- Als u tabellen op het doel wilt maken, moet de gebruiker de bevoegdheid CREATE hebben.
- Als de gebruiker migreert naar een tabel met de optie UNION, moet de gebruiker de bevoegdheden SELECT, UPDATE en DELETE hebben voor de tabellen die u toewijst aan een MERGE-tabel.
- Als u weergaven migreert, moet u de bevoegdheid WEERGAVE MAKEN hebben. Houd er rekening mee dat sommige bevoegdheden mogelijk nodig zijn, afhankelijk van de inhoud van de weergaven. Raadpleeg de MySQL-documenten die specifiek zijn voor uw versie voor 'CREATE VIEW STATEMENT' voor meer informatie
- Als u gebeurtenissen migreert, moet de gebruiker de bevoegdheid GEBEURTENIS hebben.
- Als triggers worden gemigreerd, moet de gebruiker de bevoegdheid TRIGGER hebben.
- Als u routines migreert, moet de gebruiker de bevoegdheid 'CREATE ROUTINE' hebben.
- Maak een doeldatabase, maar deze hoeft niet te worden gevuld met tabellen/weergaven, enzovoort.
- Stel het juiste teken, sorteringen en eventuele andere toepasselijke schema-instellingen in voordat u de migratie start, omdat dit van invloed kan zijn op de STANDAARDset in sommige objectdefinities.
- Als u niet-tabelobjecten migreert, moet u bovendien dezelfde naam gebruiken voor het doelschema als voor de bron.
- Configureer de serverparameters op de flexibele doelserver als volgt:
- Stel de TLS-versie en require_secure_transport serverparameter in zodat deze overeenkomt met de waarden op de bronserver.
- Stel de sql_mode-serverparameter in zodat deze overeenkomt met de waarden op de bronserver.
- Configureer serverparameters op de doelserver zodat deze overeenkomen met alle niet-standaardwaarden die op de bronserver worden gebruikt.
- Als u ervoor wilt zorgen dat gegevens sneller worden geladen wanneer u DMS gebruikt, configureert u de volgende serverparameters zoals beschreven.
- max_allowed_packet : ingesteld op 1073741824 (bijvoorbeeld 1 GB) om verbindingsproblemen vanwege grote rijen te voorkomen.
- slow_query_log : ingesteld op UIT om het logboek voor langzame query's uit te schakelen. Dit elimineert de overhead die wordt veroorzaakt door trage logboekregistratie van query's tijdens het laden van gegevens.
- innodb_buffer_pool_size: kan alleen worden verhoogd door rekenkracht op te schalen voor azure Database for MySQL-server. Schaal de server omhoog naar 64 vCore SKU algemeen gebruik vanuit de prijscategorie van de portal tijdens de migratie om de innodb_buffer_pool_size te verhogen.
- innodb_io_capacity & innodb_io_capacity_max : wijzig in 9000 van de serverparameters in Azure Portal om het IO-gebruik te verbeteren om de migratiesnelheid te optimaliseren.
- innodb_write_io_threads : wijzig in 4 van de serverparameters in Azure Portal om de migratiesnelheid te verbeteren.
- Configureer de replica's op de doelserver zodat deze overeenkomen met de replica's op de bronserver.
- Repliceer de volgende serverbeheerfuncties van de bronserver naar de flexibele doelserver:
- Roltoewijzingen, Rollen, Toewijzingen weigeren, klassieke beheerders, Toegangsbeheer (IAM)
- Vergrendelingen (alleen-lezen en verwijderen)
- Waarschuwingen
- Opdrachten
- Resource Health-waarschuwingen
- De gebruiker die de migratie uitvoert, vereist de volgende machtigingen:
DMS instellen
Wanneer uw flexibele doelserver is geïmplementeerd en geconfigureerd, moet u vervolgens DMS instellen om uw enkele server te migreren naar een flexibele server.
De resourceprovider registreren
Voer de volgende stappen uit om de Resourceprovider Microsoft.DataMigration te registreren.
Voordat u uw eerste DMS-exemplaar maakt, meldt u zich aan bij Azure Portal en zoekt en selecteert u vervolgens Abonnementen.
Selecteer het abonnement dat u wilt gebruiken om het DMS-exemplaar te maken en selecteer vervolgens Resourceproviders.
Zoek de term 'Migratie' en selecteer Registreren voor Microsoft.DataMigration.
Een DMS-exemplaar (Database Migration Service) maken
Selecteer in Azure Portal + Een resource maken, zoek naar de term 'Azure Database Migration Service' en selecteer vervolgens Azure Database Migration Service in de vervolgkeuzelijst.
Selecteer in het scherm Azure Database Migration ServiceMaken.
Selecteer op de pagina Migratiescenario selecteren en Database Migration Service, onder Migratiescenario, Azure Database for MySQL-Enkele server als bronservertype en selecteer vervolgens Azure Database for MySQL als doelservertype en selecteer Vervolgens Selecteren.
Selecteer op de pagina Migratieservice maken op het tabblad Basisbeginselen onder Projectdetails het juiste abonnement en selecteer vervolgens een bestaande resourcegroep of maak een nieuwe resourcegroep.
Geef onder Instantiedetails een naam op voor de service, selecteer een regio en controleer vervolgens of Azure is geselecteerd als de servicemodus.
Selecteer De prijscategorie configureren rechts van de prijscategorie.
Selecteer op de pagina Configureren de Premium-prijscategorie met 4 vCores voor uw DMS-exemplaar en selecteer vervolgens Toepassen.
Premium DMS met 4 vCores is gedurende 6 maanden (183 dagen) vanaf het moment dat de DMS-service is gemaakt, gratis in gebruik voordat er kosten in rekening worden gebracht. Zie de pagina met prijzen voor meer informatie over DMS-kosten en -prijscategorieën.
Vervolgens moeten we het VNet opgeven waarmee het DMS-exemplaar toegang krijgt tot de bronserver met één server en de flexibele doelserver.
Selecteer volgende op de pagina Migratieservice maken de optie Volgende: Netwerken >>.
Selecteer op het tabblad Netwerken een bestaand VNet in de lijst of geef de naam op van het nieuwe VNet dat u wilt maken en selecteer vervolgens Beoordelen en maken.
Zie het artikel Een virtueel netwerk maken met behulp van Azure Portal voor meer informatie.
Uw VNet moet worden geconfigureerd met toegang tot zowel de bronserver als de flexibele doelserver. Zorg er dus voor dat u het volgende doet:
Maak een firewallregel op serverniveau of configureer VNET-service-eindpunten voor zowel de bron- als doelserver van Azure Database for MySQL om het VNet voor Azure Database Migration Service toegang te geven tot de bron- en doeldatabases.
Zorg ervoor dat de regels van uw VNet-netwerkbeveiligingsgroep (NSG) de uitgaande poort 443 van ServiceTag voor ServiceBus, Storage en Azure Monitor niet blokkeren. Zie Netwerkverkeer filteren met netwerkbeveiligingsgroepen voor meer informatie over het filteren van VNet NSG-verkeer.
Als u tags aan de service wilt toevoegen, selecteert u eerst Volgende: Tags om eerst naar het tabblad Tags te gaan. Het toevoegen van tags aan de service is optioneel.
Ga naar het tabblad Controleren en maken , controleer de configuraties, bekijk de termen en selecteer Vervolgens Maken.
De implementatie van uw exemplaar van DMS begint nu. De berichtimplementatie wordt enkele minuten weergegeven en vervolgens is het bericht gewijzigd in uw implementatie.
Selecteer Naar resource.
Identificeer het IP-adres van het DMS-exemplaar op de overzichtspagina van de resource en maak een firewallregel voor uw bronserver met één server en de flexibele server waarin het IP-adres van het DMS-exemplaar wordt vermeld.
Een migratieproject maken
Voer de volgende stappen uit om een migratieproject 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 en selecteer vervolgens + Nieuw migratieproject.
Geef op de pagina Nieuw migratieproject een naam op voor het project. Selecteer in het selectievak Bronservertype Azure Database For MySQL – Enkele server in het selectievak doelservertype, selecteer Azure Database For MySQL, selecteer in het selectievak Migratieactiviteit, selecteer Offlinemigratie en selecteer vervolgens Activiteit maken en uitvoeren.
Als u Alleen project maken selecteert omdat het type migratieactiviteit alleen het migratieproject maakt; u kunt het migratieproject vervolgens op een later tijdstip uitvoeren.
Het migratieproject configureren
Voer de volgende stappen uit om uw DMS-migratieproject te configureren.
Als u wilt doorgaan met de offlinemigratie, opent u een nieuw venstertabblad voordat u Bron selecteren configureert, gaat u naar de overzichtspagina van de bronserver in Azure Portal en gaat u verder met de blade Serverparameters. Configureer de waarde van read_only serverparameter voor de bronserver als AAN .
Als u de bronserver instelt op de modus Alleen-lezen door de serverparameter bij te werken voordat u de migratie start, voorkomt u schrijf-/verwijderbewerkingen op de bronserver tijdens de migratie, waardoor de gegevensintegriteit van de doeldatabase wordt gegarandeerd wanneer de bron wordt gemigreerd.
Als u een onlinemigratie uitvoert, schakelt u het selectievakje Transactionele consistentie inschakelen in op het scherm Bron selecteren. Zie MySQL naar Azure Database for MySQL-gegevensmigratie - MySQL-consistente momentopname voor meer informatie over consistente back-ups.
Ga terug naar het configuratiescherm van het migratieproject en geef in het scherm Bron selecteren de verbindingsgegevens op voor het MySQL-bronexemplaren.
Selecteer Volgende: Selecteer het doel>> en geef vervolgens in het scherm Doel selecteren de verbindingsgegevens op voor de flexibele doelserver.
Selecteer Volgende: Selecteer databases>> en selecteer vervolgens op het tabblad Databases selecteren onder [Voorbeeld] Serverobjecten selecteren de serverobjecten die u wilt migreren.
Selecteer in de sectie Databases selecteren onder Brondatabase de database(s) die u wilt migreren.
De niet-tabelobjecten in de opgegeven database(s) worden gemigreerd, terwijl de items die u niet hebt geselecteerd, worden overgeslagen.
Selecteer Volgende: Selecteer databases>> om naar het tabblad Tabellen selecteren te navigeren.
Voordat het tabblad wordt ingevuld, haalt DMS de tabellen op uit de geselecteerde database(s) op de bron en het doel en bepaalt vervolgens of de tabel bestaat en gegevens bevat.
Selecteer de tabellen die u wilt migreren.
Als u een tabel selecteert in de brondatabase die niet bestaat in de doeldatabase, wordt het vak onder Schema migreren standaard geselecteerd. Voor tabellen die wel aanwezig zijn in de doeldatabase, geeft een opmerking aan dat de geselecteerde tabel al gegevens bevat en wordt afgekapt. Als het schema van een tabel op de doelserver niet overeenkomt met het schema op de bron, wordt de tabel verwijderd voordat de migratie wordt voortgezet.
DMS valideert uw invoer en als de validatie is geslaagd, kunt u de migratie starten.
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
Selecteer Vernieuwen in het scherm migratieactiviteit om de weergave bij te werken en de voortgang en het aantal voltooide tabellen weer te geven.
Als u de status van elke tabel tijdens de migratie wilt zien, selecteert u de databasenaam en selecteert u Vernieuwen om de weergave bij te werken.
Selecteer Vernieuwen om de weergave bij te werken totdat de status van de migratie wordt weergegeven als Voltooid.
Activiteiten na de migratie uitvoeren
Wanneer de migratie is voltooid, moet u de volgende activiteiten na de migratie uitvoeren.
Test de integriteit van de toepassing op basis van de doeldatabase om de migratie te certificeren.
Werk de verbindingsreeks bij zodat deze verwijst naar de nieuwe flexibele doelserver.
Verwijder de enkele bronserver nadat u de toepassingscontinuïteit hebt gegarandeerd.
Als u de flexibele doelserver voor een snellere migratie omhoog hebt geschaald, schaalt u deze terug door de rekenkracht en rekenlaag voor de flexibele doelserver te selecteren op basis van de prijscategorie en VCores van de bronserver op basis van de details in de volgende tabel.
Prijscategorie voor één server VCores met één server Rekenkracht van flexibele server Rekenlaag van flexibele server Basis 1 Met burstfunctie Standard_B1s Basis 2 Met burstfunctie Standard_B2s Algemeen gebruik 4 Algemeen gebruik Standard_D4ds_v4 Algemeen gebruik 8 Algemeen gebruik Standard_D8ds_v4 Data Migration Service-resources opschonen:
- 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 Service verwijderen.
- Geef in het bevestigingsdialoogvenster in het tekstvak NAAM VAN DE DATABASE MIGRATION SERVICE de naam van de service 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.
Plan de migratiemodus voor elke database. Voor eenvoudigere migraties en kleinere databases kunt u de offlinemodus overwegen.
Voer testmigraties uit 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. 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.
Alle afhankelijke toepassingen omleiden om toegang te krijgen tot de nieuwe primaire database en de toepassingen te openen voor productiegebruik.
Nadat de toepassing wordt uitgevoerd op het doel van de flexibele doelserver, controleert u de databaseprestaties nauwkeurig om te zien of prestaties moeten worden afgestemd.