Zelfstudie: MySQL migreren naar Azure Database for MySQL offline met behulp van DMS
U kunt Azure Database Migration Service een een time-time volledige databasemigratie uitvoeren op een on-premises MySQL-exemplaar om een Azure Database for MySQL met snelle gegevensmigratie mogelijk te maken. In deze zelfstudie migreren we een voorbeelddatabase van een on-premises exemplaar van MySQL 5.7 naar Azure Database for MySQL (v5.7) met behulp van een offlinemigratieactiviteit in Azure Database Migration Service. Hoewel in de artikelen wordt aangenomen dat de bron een MySQL-database-exemplaar en -doel Azure Database for MySQL is, kan deze worden gebruikt om van het ene Azure Database for MySQL naar het andere te migreren door alleen de naam en referenties van de bronserver te wijzigen. Migratie van MySQL-servers met een lagere versie (v5.6 en hoger) naar hogere versies wordt ook ondersteund.
Belangrijk
Voor onlinemigraties kunt u opensource-hulpprogramma's zoals MyDumper/MyLoader gebruiken met replicatie van binnenkomende gegevens.
Notitie
Zie Scriptable offline migration to Azure Database for MySQL voor een scriptversie van deze migratie-ervaring op basis van PowerShell.
Notitie
Amazon Relational Database Service (RDS) for MySQL en Amazon Aurora (op basis van MySQL) worden ook ondersteund als bronnen voor migratie.
In deze zelfstudie leert u het volgende:
- Databaseschema migreren met behulp van het hulpprogramma mysqldump.
- Maak een exemplaar van de Azure Database Migration Service.
- Maak een migratieproject met behulp van Azure Database Migration Service.
- De migratie uitvoeren.
- Houd de migratie in de gaten.
Vereisten
Voor het voltooien van deze zelfstudie hebt u het volgende nodig:
U moet beschikken over een Azure-account met een actief abonnement. Gratis een account maken
Een on-premises MySQL-database met versie 5.7. Als dat niet het beste is, downloadt en installeert u MySQL Community Edition 5.7.
De mySQL Offline-migratie wordt alleen ondersteund op de Premium DMS SKU.
Maak een exemplaar in Azure Database for MySQL. Raadpleeg het artikel MySQL Workbench gebruiken om verbinding te maken en gegevens op te vragen voor meer informatie over het maken en verbinden van een database met behulp van de Workbench-toepassing. De Azure Database for MySQL versie moet gelijk zijn aan of hoger zijn dan de on-premises MySQL-versie . MySQL 5.7 kan bijvoorbeeld worden gemigreerd naar Azure Database for MySQL 5.7 of worden geüpgraded naar 8.
Maak een Microsoft Azure Virtual Network voor Azure Database Migration Service met behulp van het Azure Resource Manager-implementatiemodel. Dit biedt site-naar-site-connectiviteit met uw on-premises bronservers met behulp van ExpressRoute of VPN. Voor meer informatie over het maken van een virtueel netwerk raadpleegt u de Documentatie over virtuele netwerken en dan met name de quickstart-artikelen met stapsgewijze informatie.
Notitie
Als u bij de installatie van een virtueel netwerk gebruikmaakt van ExpressRoute met netwerkpeering voor Microsoft, voegt u de volgende service-eindpunten toe aan het subnet waarin de service wordt ingericht:
- Eindpunt van de doeldatabase (bijvoorbeeld SQL-eindpunt, Cosmos DB-eindpunt, enzovoort)
- Opslageindpunt
- Service Bus-eindpunt
Deze configuratie is noodzakelijk omdat Azure Database Migration Service geen internetverbinding biedt.
Zorg ervoor dat de regels van uw virtuele netwerknetwerkbeveiligingsgroep de uitgaande poort 443 van ServiceTag voor ServiceBus, Storage en AzureMonitor niet blokkeren. Zie het artikel Netwerkverkeer filteren met netwerkbeveiligingsgroepen voor meer informatie over verkeer filteren van verkeer via de netwerkbeveiligingsgroep voor virtuele netwerken.
Open uw Windows firewall om verbindingen van Virtual Network voor Azure Database Migration Service toegang te geven tot de mySQL-bronserver, die standaard TCP-poort 3306 is.
Wanneer u een firewallapparaat gebruikt vóór uw brondatabase(s), moet u mogelijk firewallregels toevoegen om verbindingen van Virtual Network voor Azure Database Migration Service toegang te geven tot de brondatabase(s) voor migratie.
Maak een firewallregel op serverniveau of configureer VNET-service-eindpunten voor doel-Azure Database for MySQL om Virtual Network toegang Azure Database Migration Service tot de doeldatabases toe te staan.
De brondatabase van MySQL moet op een ondersteunde MySQL-communityversie zijn. Om de versie van het MySQL-exemplaar te bepalen, voert u in het MySQL-hulpprogramma of MySQL Workbench de volgende opdracht uit:
SELECT @@version;Azure Database for MySQL ondersteunt alleen InnoDB-tabellen. Raadpleeg het artikel Tabellen van MyISAM naar InnoDB converteren om MyISAM-tabellen te converteren naar InnoDB.
De gebruiker moet over de bevoegdheden beschikken om gegevens in de brondatabase te lezen.
Het formaat van de doel-Azure Database for MySQL-instantie
Als u de doelserver Azure Database for MySQL voor snellere gegevensbelasting met behulp van de Azure Database Migration Service, worden de volgende serverparameters en configuratiewijzigingen aanbevolen.
- max_allowed_packet: stel deze in op 1073741824 (1 GB) om verbindingsproblemen vanwege grote rijen te voorkomen.
- slow_query_log: stel deze in 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.
- query_store_capture_mode: stel deze in op NONE om Query Store uit te schakelen. Dit elimineert de overhead die wordt veroorzaakt door steekproefactiviteiten door Query Store.
- innodb_buffer_pool_size: Innodb_buffer_pool_size kunnen alleen worden verhoogd door de rekenkracht voor de Azure Database for MySQL vergroten. Schaal de server omhoog naar 64 vCores Algemeen SKU uit de prijscategorie van de portal tijdens de migratie om het aantal innodb_buffer_pool_size.
- innodb_io_capacity & innodb_io_capacity_max: wijzig in 9000 van de serverparameters in Azure Portal om het I/O-gebruik te verbeteren om de migratiesnelheid te optimaliseren.
- innodb_write_io_threads & innodb_write_io_threads: wijzig in 4 van de serverparameters in Azure Portal om de snelheid van de migratie te verbeteren.
- Omhoog schalen Storage laag: de IOPS voor Azure Database for MySQL server neemt geleidelijk toe met de toename van de opslaglaag.
- Bij de implementatieoptie Voor één server kunt u het beste de opslaglaag verhogen om de inrichten IOPS te verhogen.
- Bij de implementatieoptie Flexibele server wordt u aangeraden IOPS te schalen (vergroten of verlagen), ongeacht de opslaggrootte.
- Houd er rekening mee dat de opslaggrootte alleen omhoog kan worden geschaald, niet omlaag.
Zodra de migratie is voltooid, kunt u de serverparameters en configuratie terugdraaien naar waarden die vereist zijn voor uw workload.
Databaseschema migreren
Als u alle databaseobjecten, zoals tabelschema's, indexen en opgeslagen procedures, wilt overdragen, moeten we het schema uit de brondatabase extraheren en toepassen op de doeldatabase. Om het schema te extraheren, kunt u mysqldump gebruiken met de parameter --no-data. Hiervoor hebt u een computer nodig die verbinding kan maken met zowel de mySQL-brondatabase als de doeldatabase Azure Database for MySQL.
Voer de volgende opdracht uit om het schema te exporteren met mysqldump:
mysqldump -h [servername] -u [username] -p[password] --databases [db name] --no-data > [schema file path]
Bijvoorbeeld:
mysqldump -h 10.10.123.123 -u root -p --databases migtestdb --no-data > d:\migtestdb.sql
Voer de volgende opdracht uit om het schema Azure Database for MySQL doel te importeren:
mysql.exe -h [servername] -u [username] -p[password] [database]< [schema file path]
Bijvoorbeeld:
mysql.exe -h mysqlsstrgt.mysql.database.azure.com -u docadmin@mysqlsstrgt -p migtestdb < d:\migtestdb.sql
Als uw schema vreemde sleutels of triggers bevat, wordt de parallelle gegevensbelasting tijdens de migratie afgehandeld door de migratietaak. U hoeft geen vreemde sleutels of triggers te laten vallen tijdens de schemamigratie.
Registreer de Microsoft.DataMigration-resourceprovider
Meld u aan bij Azure Portal. Zoek en selecteer Abonnementen.

Selecteer het abonnement waarin u het Azure Database Migration Service-exemplaar wilt maken en selecteer vervolgens Resourceproviders.

Zoek naar migratie en selecteer Registreren voor Microsoft.DataMigration.

Een Database Migration Service maken
Selecteer in de Azure-portal Een resource maken, zoek naar Azure Database Migration Service, en selecteer vervolgens Azure Database Migration Service uit de vervolgkeuzelijst.

Selecteer in het scherm Azure Database Migration Service****Maken.

Geef in het scherm Migratieservice maken een naam op voor de service, het abonnement en een nieuwe of bestaande resourcegroep.
Selecteer een prijscategorie en ga naar het netwerkscherm. De mogelijkheid voor offlinemigratie is alleen beschikbaar in Premium prijscategorie.
Zie voor meer informatie over de kosten en prijscategorieën de Pagina met prijzen.

Selecteer een bestaand virtueel netwerk in de lijst of geef de naam op van het nieuwe virtuele netwerk dat moet worden gemaakt. Ga naar het scherm Beoordelen en maken. U kunt eventueel tags toevoegen aan de service met behulp van het tagsscherm.
Het virtuele netwerk biedt Azure Database Migration Service toegang tot de bron-SQL Server en het doel-Azure SQL Database-exemplaar.

Zie het artikel Een virtueel netwerk maken met de Azure-portal voor meer informatie over het maken van een virtueel netwerk in de Azure-portal.
Controleer de configuraties en selecteer Maken om de service te maken.

Een migratieproject maken
Nadat de service is gemaakt, zoek deze op in de Azure-portal, open hem en maak vervolgens een nieuw migratieproject.
Selecteer in de Azure-portal Alle diensten, zoek naar Azure Database Migration Service, en selecteer vervolgens Azure Database Migration Service.

Selecteer uw migration service-exemplaar in de zoekresultaten en selecteer + Nieuw Project.

Geef in het scherm Nieuw migratieproject een naam op voor het project, selecteer in het selectievak Bronservertype de optie MySQL, selecteer in het selectievak Type doelserver de optie Azure Database For MySQL en selecteer in het selectievak Migratieactiviteittype de optie Gegevensmigratie. Selecteer Activiteit maken en uitvoeren.

Notitie
U kunt ook Alleen project maken kiezen om het migratieproject nu te maken en de migratie later uit te voeren.
Migratieproject configureren
Geef in het scherm Bron selecteren de verbindingsgegevens op voor het bron-MySQL-exemplaar en selecteer Volgende: Doel selecteren>>

Geef in het scherm Doel selecteren de verbindingsgegevens op voor het doel-Azure Database for MySQL en selecteer Volgende: Databases selecteren>>

Wijs in het scherm Databases selecteren de bron- en doeldatabase toe voor migratie en selecteer Volgende: Migratie-instellingen configureren>>. U kunt de optie Bronserver alleen-lezen selecteren om de bron als alleen-lezen te maken, maar wees voorzichtig dat dit een instelling op serverniveau is. Als deze optie is geselecteerd, wordt de hele server ingesteld op alleen-lezen, niet alleen op de geselecteerde databases.
Als de doeldatabase de naam van de dezelfde database als de bron-database bevat, wordt in Azure Database Migration Service de doeldatabase standaard geselecteerd.

Notitie
Hoewel u in deze stap meerdere databases kunt selecteren, zijn er limieten voor het aantal en hoe snel de DATABASES op deze manier kunnen worden gemigreerd, omdat elke database rekencapaciteit deelt. Met de standaardconfiguratie van de Premium SKU probeert elke migratietaak twee tabellen parallel te migreren. Deze tabellen kunnen afkomstig zijn uit een van de geselecteerde databases. Als dit niet snel genoeg is, kunt u databasemigratieactiviteiten splitsen in verschillende migratietaken en schalen over meerdere services. Ook is er een limiet van tien Azure Database Migration Service-instanties per abonnement per regio. Raadpleeg het artikel PowerShell: Offlinemigratie uitvoeren van MySQL-database naar Azure Database for MySQL met DMS voor gedetailleerdere controle over de migratiedoorvoer en -parallellisatie
Selecteer in het scherm Migratie-instellingen configureren de tabellen die deel moeten uitmaken van de migratie en selecteer Volgende: Samenvatting>>. Als de doeltabellen gegevens bevatten, worden ze niet standaard geselecteerd, maar u kunt ze expliciet selecteren en worden ze afgekapt voordat de migratie wordt begonnen.

Geef op het scherm Samenvatting in het tekstvak Activiteitsnaam een naam op voor de migratieactiviteit en controleer de samenvatting om ervoor te zorgen dat de bron- en doelgegevens 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 Wordt uitgevoerd wanneer de tabelmigraties starten.

Bewaak de migratie
Selecteer vernieuwen in het scherm van de migratieactiviteit om de weergave bij te werken en de voortgang van het aantal voltooide tabellen te bekijken.
U kunt op de naam van de database klikken op het activiteitsscherm om de status van elke tabel te zien terwijl deze worden gemigreerd. Selecteer Vernieuwen om de weergave bij te werken.

Migratie voltooien
Selecteer op het scherm van de migratieactiviteit de optie Vernieuwen om de weergave bij te werken totdat de Status van de migratie als Voltooid wordt weergegeven.

Activiteiten na migratie
Migratie-cutover in een offlinemigratie is een toepassingsafhankelijk proces dat buiten het bereik van dit document valt, maar de volgende activiteiten na de migratie worden voorgeschreven:
- Maak aanmeldingen, rollen en machtigingen volgens de toepassingsvereisten.
- Maak alle triggers voor de doeldatabase opnieuw zoals deze zijn geëxtraheerd tijdens de stap vóór de migratie.
- Voer een goed onderzoek van de toepassing uit op de doeldatabase om de migratie te certificeren.
Resources opschonen
Als u de service niet meer gaat gebruiken Database Migration Service, kunt u de service verwijderen met de volgende stappen:
Selecteer in de Azure-portal Alle diensten, zoek naar Azure Database Migration Service, en selecteer vervolgens Azure Database Migration Service.

Selecteer uw migration service-exemplaar in de zoekresultaten en selecteer Service verwijderen.

Typ in het bevestigingsvenster de naam van de service in het tekstvak TYP DE DATABASE MIGRATION SERVICE-NAAM en selecteer Verwijderen

Volgende stappen
- Zie het artikel 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 de brondatabasetijdens het gebruik van DMS.
- Zie het artikel Wat is de Azure Database Migration Service? voor informatie over Azure Database Migration Service.
- Raadpleeg het artikel Wat is Azure Database for MySQL? voor informatie over Azure Database for MySQL.
- Voor hulp bij het gebruik van DMS via PowerShell, zie het artikel PowerShell: Offlinemigratie uitvoeren van MySQL-database naar Azure Database for MySQL met behulp van DMS