MySQL-data bases migreren naar AzureMigrate MySQL databases to Azure

In dit artikel wordt beschreven hoe het fictieve bedrijf contoso het on-premises open source-database platform naar Azure heeft gepland en gemigreerd.This article demonstrates how the fictional company Contoso planned and migrated its on-premises MySQL open-source database platform to Azure.

Commerciële drijfverenBusiness drivers

Het IT-leiderschaps team heeft nauw samengewerkt met zakelijke partners om inzicht te krijgen in wat ze willen hebben met deze migratie.The IT leadership team has worked closely with business partners to understand what they want to achieve with this migration. Ze willen:They want to:

  • Verg root de beschik baarheid.Increase availability. Contoso heeft beschikbaarheids problemen gehad met de lokale MySQL-omgeving.Contoso has had availability issues with its MySQL on-premises environment. Voor het bedrijf moeten de toepassingen die gebruikmaken van dit gegevens archief betrouwbaarder zijn.The business requires the applications that use this data store to be more reliable.
  • Efficiëntie verbeteren.Increase efficiency. Contoso moet overbodige procedures verwijderen en processen voor ontwikkel aars en gebruikers stroom lijnen.Contoso needs to remove unnecessary procedures and streamline processes for developers and users. Het bedrijf moet snel en zonder tijd of geld worden verspild om sneller te kunnen leveren aan klant vereisten.The business needs IT to be fast and not waste time or money to deliver faster on customer requirements.
  • Flexibiliteit verhogen.Increase agility. Contoso IT moet sneller reageren op de behoeften van het bedrijf.Contoso IT needs to be more responsive to the needs of the business. Het moet sneller reageren dan de wijzigingen in de Marketplace om succes in een wereld wijde economie mogelijk te maken.It must react faster than the changes in the marketplace to enable success in a global economy. Het mag is een bedrijfs blokkering.It mustn't become a business blocker.
  • Tarieven.Scale. Naarmate het bedrijf succesvol groeit, moet contoso het systemen leveren die in hetzelfde tempo groeien.As the business grows successfully, Contoso IT must provide systems that grow at the same pace.

MigratiedoelenMigration goals

Het Contoso-cloudteam heeft doelstellingen voor deze migratie vastgesteld.The Contoso cloud team has pinned down goals for this migration. Deze doelstellingen zijn gebruikt om de beste migratiemethode te bepalen.These goals were used to determine the best migration method.

VereistenRequirements DetailsDetails
BeschikbaarheidAvailability Momenteel hebben interne mede werkers een vaste tijd met de hosting omgeving voor het MySQL-exemplaar.Currently internal staff are having a hard time with the hosting environment for the MySQL instance. Contoso wil een Beschik baarheid van 99,99 procent voor de laag van de data base.Contoso wants to have close to 99.99 percent availability for the database layer.
SchaalbaarheidScalability De on-premises data base-host is snel bijna vol.The on-premises database host is quickly running out of capacity. Contoso heeft een manier nodig om de instanties van de huidige beperkingen te schalen of omlaag te schalen als de bedrijfs omgeving wijzigingen in de kosten opslaat.Contoso needs a way to scale its instances past current limitations or scale down if the business environment changes to save on costs.
PrestatiesPerformance De afdeling Human resources van Contoso voert verschillende rapporten dagelijks, wekelijks en maandelijks uit.The Contoso human resources (HR) department runs various reports daily, weekly, and monthly. Wanneer deze rapporten worden uitgevoerd, zijn er belang rijke prestatie problemen met de op werk nemers gerichte toepassing.When it runs these reports, it experiences significant performance issues with the employee-facing application. De rapporten moeten worden uitgevoerd zonder dat dit van invloed is op de prestaties van de toepassing.It needs to run the reports without affecting application performance.
BeveiligingSecurity Contoso moet weten dat de data base alleen toegankelijk is voor de interne toepassingen en niet zichtbaar of toegankelijk is via internet.Contoso needs to know that the database is accessible only to its internal applications and isn't visible or accessible via the internet.
ControleMonitoring Contoso maakt momenteel gebruik van hulpprogram ma's voor het bewaken van de metrische gegevens van de MySQL-database server en geeft meldingen wanneer er problemen zijn met de CPU, het geheugen of de opslag.Contoso currently uses tools to monitor the metrics of the MySQL database server and provide notifications when CPU, memory, or storage have issues. Het bedrijf wil deze functionaliteit hebben in Azure.The company wants to have this same capability in Azure.
BedrijfscontinuïteitBusiness continuity Het HR-gegevens archief is een belang rijk onderdeel van de dagelijkse bewerkingen van contoso.The HR data store is an important part of Contoso's daily operations. Als de service beschadigd of moest worden hersteld, wil het bedrijf zo veel mogelijk downtime minimaliseren.If it became corrupted or needed to be restored, the company wants to minimize downtime as much as possible.
AzureAzure Contoso wil de toepassing verplaatsen naar Azure zonder deze op Vm's uit te voeren.Contoso wants to move the application to Azure without running it on VMs. Contoso wil Azure Platform as a Service-Services (PaaS) gebruiken voor de gegevenslaag.Contoso wants to use Azure platform as a service (PaaS) services for the data tier.

Ontwerp van de oplossingSolution design

Nadat u de doelen en vereisten hebt vastgemaakt, ontwerpt contoso ontwerpen en bekijkt een implementatie oplossing en identificeert het migratie proces.After pinning down goals and requirements, Contoso designs and reviews a deployment solution and identifies the migration process. De hulpprogram ma's en services die worden gebruikt voor migratie, worden ook aangeduid.The tools and services that it will use for migration are also identified.

Huidige toepassingCurrent application

De MySQL-data base slaat werknemers gegevens op die worden gebruikt voor alle aspecten van de HR-afdeling van het bedrijf.The MySQL database stores employee data that's used for all aspects of the company's HR department. Een op het licht gebaseerde toepassing wordt gebruikt als de front-end voor het afhandelen van HR-aanvragen van werk nemers.A LAMP-based application is used as the front end to handle employee HR requests. Contoso heeft 100.000 werk nemers wereld wijd, waardoor de uptime belang rijk is.Contoso has 100,000 employees worldwide, so uptime is important.

Voorgestelde oplossingProposed solution

Gebruik Azure Database Migration Service om de data base te migreren naar een Azure Database for MySQL-exemplaar.Use Azure Database Migration Service to migrate the database to an Azure Database for MySQL instance. Wijzig alle toepassingen en processen om het nieuwe Azure Database for MySQL-exemplaar te gebruiken.Modify all applications and processes to use the new Azure Database for MySQL instance.

Overwegingen ten aanzien van de databaseDatabase considerations

Als onderdeel van het oplossings ontwerp proces heeft Contoso de functies in azure voor het hosten van de MySQL-gegevens gecontroleerd.As part of the solution design process, Contoso reviewed the features in Azure for hosting its MySQL data. De volgende overwegingen hebben het bedrijf geholpen om Azure te gebruiken:The following considerations helped the company decide to use Azure:

  • Net als bij Azure SQL Database, Azure Database for MySQL toestaan van firewall regels.Similar to Azure SQL Database, Azure Database for MySQL allows for firewall rules.
  • Azure Database for MySQL kan worden gebruikt met Azure Virtual Network om te voor komen dat het exemplaar openbaar toegankelijk is.Azure Database for MySQL can be used with Azure Virtual Network to prevent the instance from being publicly accessible.
  • Azure Database for MySQL beschikt over de vereiste nalevings-en privacy-certificeringen die contoso moet voldoen aan de accountants.Azure Database for MySQL has the required compliance and privacy certifications that Contoso must meet for its auditors.
  • Prestaties van rapporten en toepassingen worden uitgebreid met behulp van replica's lezen.Report and application processing performance will be enhanced by using read replicas.
  • De mogelijkheid om de service alleen beschikbaar te maken voor intern netwerk verkeer (geen open bare toegang) met behulp van een persoonlijke Azure-koppeling.Ability to expose the service to internal network traffic only (no public access) by using Azure Private Link.
  • Contoso heeft ervoor gekozen om niet te verplaatsen naar Azure Database for MySQL omdat u in de toekomst overweegt het database model MariaDB column Store en Graph te gebruiken.Contoso chose not to move to Azure Database for MySQL because it's considering using the MariaDB ColumnStore and graph database model in the future.
  • Naast de MySQL-functies is contoso een proponent van waar open-source projecten zijn en ervoor gekozen om MySQL niet te gebruiken.Aside from MySQL features, Contoso is a proponent of true open-source projects and chose not to use MySQL.
  • De band breedte en latentie van de toepassing naar de-Data Base zijn voldoende genoeg op basis van de gekozen gateway (Azure ExpressRoute of site-naar-site-VPN).The bandwidth and latency from the application to the database will be sufficient enough based on the chosen gateway (either Azure ExpressRoute or Site-to-Site VPN).

Beoordeling van de oplossingSolution review

Contoso evalueert het voorgestelde ontwerp door een lijst met voor- en nadelen samen te stellen.Contoso evaluates the proposed design by putting together a pros and cons list.

OverwegingConsideration DetailsDetails
VoordelenPros Azure Database for MySQL biedt een financiële service overeenkomst van 99,99 procent voor een hoge Beschik baarheid.Azure Database for MySQL offers a 99.99 percent financially backed service-level agreement (SLA) for high availability.

Azure biedt de mogelijkheid om snel omhoog of omlaag te schalen tijdens piek belasting tijden per kwar taal.Azure offers the ability to scale up or down during peak load times each quarter. Contoso kan nog meer besparen door gereserveerde capaciteitaan te schaffen.Contoso can save even more by purchasing reserved capacity.

Azure biedt mogelijkheden voor herstel op tijdstippen en geo-herstel voor Azure Database for MySQL.Azure provides point-in-time restore and geo-restore capabilities for Azure Database for MySQL.

NadelenCons Contoso is beperkt tot de versies van de MySQL-versie die worden ondersteund in azure, die momenteel 10,2 en 10,3 zijn.Contoso is limited to the MySQL release versions that are supported in Azure, which are currently 10.2 and 10.3.

Azure Database for MySQL heeft enkele beperkingen, zoals het omlaag schalen van opslag.Azure Database for MySQL has some limitations, such as scaling down storage.

Voorgestelde architectuurProposed architecture

Diagram toont de scenario architectuur. Afbeelding 1: scenario architectuur.Diagram shows the scenario architecture. Figure 1: Scenario architecture.

MigratieprocesMigration process

VoorbereidingPreparation

Voordat u uw MySQL-data bases kunt migreren, moet u ervoor zorgen dat deze instanties voldoen aan alle Azure-vereisten voor een geslaagde migratie.Before you can migrate your MySQL databases, you need to ensure that those instances meet all the Azure prerequisites for a successful migration.

Ondersteunde versiesSupported versions

MySQL maakt gebruik van het x. y. z -versie schema, waarbij x de primaire versie is, y de secundaire versie en z de versie van de patch.MySQL uses the x.y.z versioning scheme, where x is the major version, y is the minor version, and z is the patch version.

Azure biedt momenteel ondersteuning voor MySQL-versies 10.2.25 en 10.3.16.Azure currently supports MySQL versions 10.2.25 and 10.3.16.

Azure beheert automatisch upgrades voor patch-updates.Azure automatically manages upgrades for patch updates. Voor beelden zijn 10.2.21 naar 10.2.23.Examples are 10.2.21 to 10.2.23. Upgrades van secundaire en primaire versies worden niet ondersteund.Minor and major version upgrades aren't supported. Een upgrade van MySQL 10,2 naar MySQL 10,3 wordt bijvoorbeeld niet ondersteund.For example, upgrading from MySQL 10.2 to MySQL 10.3 isn't supported. Als u een upgrade wilt uitvoeren van 10,2 naar 10,3, neemt u een dump op en herstelt u deze op een server die is gemaakt met de nieuwe engine versie.If you want to upgrade from 10.2 to 10.3, take a dump and restore it to a server created with the new engine version.

NetwerkNetwork

Contoso moet een gateway verbinding van het virtuele netwerk instellen vanaf de on-premises omgeving naar het virtuele netwerk waar de MySQL-data base zich bevindt.Contoso needs to set up a virtual network gateway connection from its on-premises environment to the virtual network where its MySQL database is located. Met deze verbinding kan de on-premises toepassing toegang krijgen tot de data base via de gateway wanneer de verbindings reeksen worden bijgewerkt.This connection allows the on-premises application to access the database over the gateway when the connection strings are updated.

Diagram toont het migratie proces. Afbeelding 2: het migratie proces.Diagram shows the migration process. Figure 2: The migration process.

MigratieMigration

Contoso-beheerders migreren de data base met behulp van Azure Database Migration Service en volgen de Stapsgewijze zelf studieover de migratie.Contoso admins migrate the database by using Azure Database Migration Service and following the step-by-step migration tutorial. Ze kunnen online-, offline-en hybride migraties (preview) uitvoeren met behulp van MySQL 5,6 of 5,7.They can perform online, offline, and hybrid (preview) migrations by using MySQL 5.6 or 5.7.

Notitie

MySQL 8,0 wordt ondersteund in Azure Database for MySQL.MySQL 8.0 is supported in Azure Database for MySQL. Deze versie wordt nog niet ondersteund door het Database Migration Service-hulp programma.The Database Migration Service tool doesn't yet support that version.

Als samen vatting moeten ze de volgende taken uitvoeren:As a summary, they must do the following tasks:

  • Zorg ervoor dat aan alle vereisten voor migratie is voldaan:Ensure all migration prerequisites are met:

    • De MySQL-database server bron moet overeenkomen met de versie die Azure Database for MySQL ondersteunt.The MySQL database server source must match the version that Azure Database for MySQL supports. Azure Database for MySQL ondersteunt MySQL Community Edition, de InnoDB-opslag engine en migratie over de bron en het doel met dezelfde versie.Azure Database for MySQL supports MySQL Community Edition, the InnoDB storage engine, and migration across source and target with the same versions.
    • Schakel binaire logboek registratie in my.ini (Windows) of my.cnf (UNIX).Enable binary logging in my.ini (Windows) or my.cnf (Unix). Fout bij het inschakelen van binaire logboek registratie veroorzaakt de volgende fout in de migratie wizard: ' fout in binaire logboek registratie.Failure to enable binary logging causes the following error in the Migration Wizard: "Error in binary logging. Variabele binlog_row_image heeft de waarde mini maal.Variable binlog_row_image has value 'minimal.' Wijzig de waarde in full. Zie de MySQL-documentatievoor meer informatie.please change it to 'full'." For more information, see the MySQL documentation.
    • De gebruiker moet de ReplicationAdmin rol hebben.User must have the ReplicationAdmin role.
    • Migreer de database schema's zonder refererende sleutels en triggers.Migrate the database schemas without foreign keys and triggers.
  • Maak een virtueel netwerk dat is verbonden via ExpressRoute of een VPN-verbinding met uw on-premises netwerk.Create a virtual network that connects via ExpressRoute or a VPN to your on-premises network.

  • Maak een Azure Database Migration Service-exemplaar met een Premium SKU die is verbonden met het virtuele netwerk.Create an Azure Database Migration Service instance with a Premium SKU that's connected to the virtual network.

  • Zorg ervoor dat het exemplaar toegang kan krijgen tot de MySQL-data base via het virtuele netwerk.Ensure that the instance can access the MySQL database via the virtual network. Zorg ervoor dat alle binnenkomende poorten van Azure naar MySQL worden toegestaan op het niveau van het virtuele netwerk, de VPN van het netwerk en de computer die als host fungeert voor MySQL.Make sure that all incoming ports are allowed from Azure to MySQL at the virtual network level, the network VPN, and the machine that hosts MySQL.

  • Een nieuw Database Migration Service project maken:Create a new Database Migration Service project:

    Scherm afbeelding laat zien hoe u een nieuw Database Migration Service project afbeelding 3: een Azure database Migration service project maakt.Screenshot shows how to create a new Database Migration Service project Figure 3: An Azure Database Migration Service project.

Migratie met systeem eigen hulpprogram ma'sMigration by using native tools

Als alternatief voor het gebruik van Azure Database Migration Service kan contoso algemene hulpprogram ma's en hulp middelen zoals MySQL Workbench, mysqldump, Toad of Navicat gebruiken om verbinding te maken met en gegevens te migreren naar Azure Database for MySQL.As an alternative to using Azure Database Migration Service, Contoso can use common utilities and tools such as MySQL Workbench, mysqldump, Toad, or Navicat to connect to and migrate data to Azure Database for MySQL.

  • Dump en herstel met mysqldump:Dump and restore with mysqldump:
    • Gebruik de optie exclude-triggers in mysqldump om te voor komen dat triggers tijdens het importeren worden uitgevoerd en de prestaties te verbeteren.Use the exclude-triggers option in mysqldump to prevent triggers from executing during import and improve performance.
    • Gebruik de optie voor één trans actie om de isolatie modus voor vertalingen in te stellen REPEATABLE READ en verzend een START TRANSACTION SQL-instructie voordat u gegevens dumpt.Use the single-transaction option to set the translation isolation mode to REPEATABLE READ, and send a START TRANSACTION SQL statement before you dump data.
    • Gebruik de optie uitschakelen-sleutels in mysqldump om beperkingen voor refererende sleutels uit te scha kelen vóór het laden.Use the disable-keys option in mysqldump to disable foreign key constraints before load. Het verwijderen van beperkingen levert prestatie verbeteringen.Removing constraints provides performance gains.
    • Gebruik Azure Blob-opslag om de back-upbestanden op te slaan en de herstel bewerking uit te voeren voor een snellere herstel bewerking.Use Azure Blob storage to store the backup files and perform the restore from there for faster restore.
    • Verbindings reeksen van de toepassing bijwerken.Update application connection strings.
    • Nadat de data base is gemigreerd, moet Contoso de verbindings reeksen bijwerken zodat deze verwijzen naar de nieuwe Azure Database for MySQL.After the database is migrated, Contoso must update the connection strings to point to the new Azure Database for MySQL.

Opschonen na migratieClean up after migration

Na de migratie moet contoso een back-up maken van de on-premises Data Base voor Bewaar doeleinden en de on-premises MySQL-database server buiten gebruik stellen.After migration, Contoso needs to back up the on-premises database for retention purposes and retire the on-premises MySQL database server.

De implementatie controlerenReview the deployment

Met de gemigreerde resources in Azure moet Contoso de nieuwe infrastructuur volledig operationeel maken en beveiligen.With the migrated resources in Azure, Contoso needs to fully operationalize and secure its new infrastructure.

BeveiligingSecurity

Contoso moet:Contoso needs to:

  • Zorg ervoor dat het nieuwe Azure Database for MySQL exemplaar en de data bases veilig zijn.Ensure that its new Azure Database for MySQL instance and databases are secure. Zie beveiliging in azure database for MySQLvoor meer informatie.For more information, see Security in Azure Database for MySQL.
  • Controleer de configuratie van de firewall en het virtuele netwerk.Review the firewall and virtual network configurations.
  • Stel een persoonlijke koppeling in zodat alle database verkeer binnen Azure en het on-premises netwerk wordt bewaard.Set up Private Link so that all database traffic is kept inside Azure and the on-premises network.
  • Schakel Azure Advanced Threat Protection in.Enable Azure Advanced Threat Protection.

Back-upsBackups

Zorg ervoor dat er een back-up wordt gemaakt van de Azure Database for MySQL instanties door gebruik te maken van geo-Restore, zodat back-ups in een gekoppelde regio kunnen worden gebruikt als er sprake is van een regionale storing.Ensure that the Azure Database for MySQL instances are backed up by using geo-restore, so that backups can be used in a paired region if a regional outage occurs.

Belangrijk

Zorg ervoor dat de Azure Database for MySQL resource een resource vergrendeling heeft om te voor komen dat deze wordt verwijderd.Ensure that the Azure Database for MySQL resource has a resource lock to prevent it from being deleted. Verwijderde servers kunnen niet worden hersteld.Deleted servers can't be restored.

Licenties en kostenoptimalisatieLicensing and cost optimization

  • Azure Database for MySQL kunnen omhoog of omlaag worden geschaald.Azure Database for MySQL can be scaled up or down. Het bewaken van de prestaties van de server en data bases is belang rijk om te controleren of aan uw vereisten wordt voldaan terwijl de kosten worden geminimaliseerd.Monitoring the performance of the server and databases is important to ensure your requirements are met while minimizing costs.
  • Zowel de CPU als de opslag zijn gekoppeld aan de kosten.Both CPU and storage have costs associated. Er zijn verschillende prijs categorieën beschikbaar.Several pricing tiers are available. Zorg ervoor dat het juiste prijs plan is geselecteerd voor elke gegevens belasting.Be sure the appropriate pricing plan is selected for each data workload.
  • Elke Lees replica wordt gefactureerd op basis van de geselecteerde berekening en opslag.Each read replica is billed based on the compute and storage selected.
  • Gebruik gereserveerde capaciteit om kosten op te slaan.Use reserved capacity to save on costs.

ConclusieConclusion

In dit artikel heeft Contoso de MySQL-data bases naar een Azure Database for MySQL-exemplaar gemigreerd.In this article, Contoso migrated its MySQL databases to an Azure Database for MySQL instance.