Migrera MySQL-databaser till AzureMigrate MySQL databases to Azure

Den här artikeln visar hur det fiktiva företaget contoso planerade och migrerat sin lokala MySQL-databas plattform med öppen källkod till Azure.This article demonstrates how the fictional company Contoso planned and migrated its on-premises MySQL open-source database platform to Azure.

Affärsdrivande faktorerBusiness drivers

IT ledarskaps gruppen har arbetat nära affärs partner för att förstå vad de vill uppnå med migreringen.The IT leadership team has worked closely with business partners to understand what they want to achieve with this migration. De vill:They want to:

  • Öka tillgängligheten.Increase availability. Contoso har haft tillgänglighets problem med den lokala MySQL-miljön.Contoso has had availability issues with its MySQL on-premises environment. Företaget kräver att programmen som använder det här data lagret är mer pålitliga.The business requires the applications that use this data store to be more reliable.
  • Öka effektiviteten.Increase efficiency. Contoso måste ta bort onödiga procedurer och effektivisera processer för utvecklare och användare.Contoso needs to remove unnecessary procedures and streamline processes for developers and users. Företaget behöver det för att kunna vara snabbt och inte slösad tid eller pengar att leverera snabbare på kund kraven.The business needs IT to be fast and not waste time or money to deliver faster on customer requirements.
  • Öka flexibiliteten.Increase agility. Contosos IT-avdelning måste reagera snabbare på företagets behov.Contoso IT needs to be more responsive to the needs of the business. Det måste reagera snabbare än ändringarna i Marketplace för att möjliggöra framgång i en global ekonomi.It must react faster than the changes in the marketplace to enable success in a global economy. IT-får inte blir ett företags block.It mustn't become a business blocker.
  • Skala.Scale. När verksamheten växer måste företaget tillhandahålla system som växer i samma takt.As the business grows successfully, Contoso IT must provide systems that grow at the same pace.

MigreringsmålMigration goals

Contosos molnteam har fastställt mål för migreringen.The Contoso cloud team has pinned down goals for this migration. Målen användes för att fastställa den bästa migreringsmetoden.These goals were used to determine the best migration method.

KravRequirements InformationDetails
TillgänglighetAvailability Intern personal har för närvarande en tids period med värd miljön för MySQL-instansen.Currently internal staff are having a hard time with the hosting environment for the MySQL instance. Contoso vill ha nära 99,99% tillgänglighet för databas skiktet.Contoso wants to have close to 99.99 percent availability for the database layer.
SkalbarhetScalability Den lokala databasens värd har snart slut på kapacitet.The on-premises database host is quickly running out of capacity. Contoso behöver ett sätt att skala sina instanser tidigare aktuella begränsningar eller skala ned om affärs miljön ändras till att spara pengar.Contoso needs a way to scale its instances past current limitations or scale down if the business environment changes to save on costs.
PrestandaPerformance Contoso personal-avdelningen (personalavdelningen) kör olika rapporter varje dag, varje vecka och varje månad.The Contoso human resources (HR) department runs various reports daily, weekly, and monthly. När de här rapporterna körs uppstår betydande prestanda problem med programmet för den anställda.When it runs these reports, it experiences significant performance issues with the employee-facing application. Den måste köra rapporterna utan att påverka programmets prestanda.It needs to run the reports without affecting application performance.
SäkerhetSecurity Contoso måste veta att databasen endast är tillgänglig för interna program och inte är synlig eller tillgänglig 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.
ÖvervakningMonitoring Contoso använder för närvarande verktyg för att övervaka måtten för MySQL-databasservern och tillhandahålla aviseringar när det finns problem med CPU, minne eller lagring.Contoso currently uses tools to monitor the metrics of the MySQL database server and provide notifications when CPU, memory, or storage have issues. Företaget vill ha samma funktion i Azure.The company wants to have this same capability in Azure.
VerksamhetskontinuitetBusiness continuity Data lagret för personal är en viktig del av Contosos dagliga åtgärder.The HR data store is an important part of Contoso's daily operations. Om det blev skadat eller behövde återställas, vill företaget minimera stillestånds tiden så mycket som möjligt.If it became corrupted or needed to be restored, the company wants to minimize downtime as much as possible.
AzureAzure Contoso vill flytta programmet till Azure utan att köra det på virtuella datorer.Contoso wants to move the application to Azure without running it on VMs. Contoso vill använda Azures PaaS-tjänster (Platform as a Service) för data nivån.Contoso wants to use Azure platform as a service (PaaS) services for the data tier.

LösningsdesignSolution design

När du har fäst målen och kraven, kan du utforma och granska en distributions lösning i Contoso och identifiera migreringsprocessen.After pinning down goals and requirements, Contoso designs and reviews a deployment solution and identifies the migration process. De verktyg och tjänster som ska användas för migrering identifieras också.The tools and services that it will use for migration are also identified.

Aktuellt programCurrent application

MySQL-databasen lagrar medarbetar data som används för alla aspekter av företagets PERSONALAVDELNINGEN.The MySQL database stores employee data that's used for all aspects of the company's HR department. Ett LAMP-baserat program används som klient del för att hantera ANSTÄLLDAs HR-begäranden.A LAMP-based application is used as the front end to handle employee HR requests. Contoso har 100 000 anställda över hela världen, så drift tiden är viktig.Contoso has 100,000 employees worldwide, so uptime is important.

Föreslagen lösningProposed solution

Använd Azure Database Migration Service för att migrera databasen till en Azure Database for MySQL-instans.Use Azure Database Migration Service to migrate the database to an Azure Database for MySQL instance. Ändra alla program och processer till att använda den nya Azure Database for MySQL-instansen.Modify all applications and processes to use the new Azure Database for MySQL instance.

DatabasövervägandenDatabase considerations

Som en del av processen för lösnings design granskade contoso funktionerna i Azure för att vara värd för sina MySQL-data.As part of the solution design process, Contoso reviewed the features in Azure for hosting its MySQL data. Följande överväganden hjälpte företaget att välja att använda Azure:The following considerations helped the company decide to use Azure:

  • På samma sätt som för Azure SQL Database, Azure Database for MySQL tillåta brand Väggs regler.Similar to Azure SQL Database, Azure Database for MySQL allows for firewall rules.
  • Azure Database for MySQL kan användas med Azure Virtual Network för att förhindra att instansen kan nås offentligt.Azure Database for MySQL can be used with Azure Virtual Network to prevent the instance from being publicly accessible.
  • Azure Database for MySQL har de krav på efterlevnad och sekretess som contoso måste uppfylla för sina revisorer.Azure Database for MySQL has the required compliance and privacy certifications that Contoso must meet for its auditors.
  • Prestanda för rapport-och program bearbetning kommer att förbättras med hjälp av Läs repliker.Report and application processing performance will be enhanced by using read replicas.
  • Möjlighet att exponera tjänsten enbart för intern nätverks trafik (ingen offentlig åtkomst) med hjälp av en privat Azure-länk.Ability to expose the service to internal network traffic only (no public access) by using Azure Private Link.
  • Contoso valde att inte flytta till Azure Database for MySQL eftersom det överväger att använda MariaDB-ColumnStore-och diagram databas modellen i framtiden.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.
  • Contoso har tagits ur MySQL-funktioner och är en proponent av verkliga projekt med öppen källkod och valt att inte använda MySQL.Aside from MySQL features, Contoso is a proponent of true open-source projects and chose not to use MySQL.
  • Bandbredden och fördröjningen från programmet till databasen är tillräckligt tillräckligt beroende på den valda gatewayen (antingen Azure-ExpressRoute eller plats-till-plats-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).

Utvärdering av lösningenSolution review

Contoso utvärderar den föreslagna designen genom att skapa en lista med för- och nackdelar.Contoso evaluates the proposed design by putting together a pros and cons list.

Att tänka påConsideration InformationDetails
FördelarPros Azure Database for MySQL erbjuder ett 99,99% ekonomiskt service avtal (SLA) för hög tillgänglighet.Azure Database for MySQL offers a 99.99 percent financially backed service-level agreement (SLA) for high availability.

Azure ger möjlighet att skala upp eller ned under belastnings tiderna vid hög belastning varje kvartal.Azure offers the ability to scale up or down during peak load times each quarter. Contoso kan spara ännu mer genom att köpa reserverad kapacitet.Contoso can save even more by purchasing reserved capacity.

Azure tillhandahåller funktioner för återställning av tidpunkter och geo-återställning för Azure Database for MySQL.Azure provides point-in-time restore and geo-restore capabilities for Azure Database for MySQL.

NackdelarCons Contoso är begränsat till de MySQL-versioner som stöds i Azure, som för närvarande är 10,2 och 10,3.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 har vissa begränsningar, till exempel skalning av lagrings utrymme.Azure Database for MySQL has some limitations, such as scaling down storage.

Föreslagen arkitekturProposed architecture

Diagrammet visar scenario arkitekturen. Bild 1: scenario arkitektur.Diagram shows the scenario architecture. Figure 1: Scenario architecture.

MigreringsprocessenMigration process

FörberedelsePreparation

Innan du kan migrera MySQL-databaserna måste du se till att dessa instanser uppfyller alla krav för Azure för en lyckad migrering.Before you can migrate your MySQL databases, you need to ensure that those instances meet all the Azure prerequisites for a successful migration.

Versioner som stödsSupported versions

MySQL använder versions schemat x. y. z , där x är huvud versionen, y är den lägre versionen och z är korrigerings versionen.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 stöder för närvarande MySQL-versioner 10.2.25 och 10.3.16.Azure currently supports MySQL versions 10.2.25 and 10.3.16.

Azure hanterar automatiskt uppgraderingar för korrigerings uppdateringar.Azure automatically manages upgrades for patch updates. Exempel är 10.2.21 till 10.2.23.Examples are 10.2.21 to 10.2.23. Mindre och större versions uppgraderingar stöds inte.Minor and major version upgrades aren't supported. Det finns till exempel inte stöd för att uppgradera från MySQL 10,2 till MySQL 10,3.For example, upgrading from MySQL 10.2 to MySQL 10.3 isn't supported. Om du vill uppgradera från 10,2 till 10,3 ska du ta en dump och återställa den till en server som skapats med den nya motor versionen.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.

NätverkNetwork

Contoso måste konfigurera en anslutning för virtuell nätverksgateway från den lokala miljön till det virtuella nätverk där MySQL-databasen finns.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. Den här anslutningen gör att det lokala programmet kan komma åt databasen via gatewayen när anslutnings strängarna uppdateras.This connection allows the on-premises application to access the database over the gateway when the connection strings are updated.

Diagrammet visar migreringsprocessen. Bild 2: migreringsprocessen.Diagram shows the migration process. Figure 2: The migration process.

MigreringMigration

Contoso-administratörer migrerar databasen med hjälp av Azure Database Migration Service och följer själv studie kursen för stegvis migrering.Contoso admins migrate the database by using Azure Database Migration Service and following the step-by-step migration tutorial. De kan utföra migrering online, offline och hybrid (för hands version) med hjälp av MySQL 5,6 eller 5,7.They can perform online, offline, and hybrid (preview) migrations by using MySQL 5.6 or 5.7.

Anteckning

MySQL 8,0 stöds i Azure Database for MySQL.MySQL 8.0 is supported in Azure Database for MySQL. Verktyget Database Migration Service stöder ännu inte den versionen.The Database Migration Service tool doesn't yet support that version.

Som en sammanfattning måste de utföra följande uppgifter:As a summary, they must do the following tasks:

  • Se till att alla krav för migrering är uppfyllda:Ensure all migration prerequisites are met:

    • Databas server källan för MySQL måste matcha den version som Azure Database for MySQL stöder.The MySQL database server source must match the version that Azure Database for MySQL supports. Azure Database for MySQL stöder MySQL Community Edition, InnoDB lagrings motor och migrering mellan källa och mål med samma versioner.Azure Database for MySQL supports MySQL Community Edition, the InnoDB storage engine, and migration across source and target with the same versions.
    • Aktivera binär loggning i my.ini (Windows) eller my.cnf (UNIX).Enable binary logging in my.ini (Windows) or my.cnf (Unix). Fel vid aktivering av binär loggning orsakar följande fel i Migreringsguiden: Error in binary logging. Variable binlog_row_image has value 'minimal.' please change it to 'full'. Mer information finns i MySQL-dokumentationen.Failure to enable binary logging causes the following error in the Migration Wizard: Error in binary logging. Variable binlog_row_image has value 'minimal.' please change it to 'full'. For more information, see the MySQL documentation.
    • Användaren måste ha ReplicationAdmin rollen.User must have the ReplicationAdmin role.
    • Migrera databas scheman utan sekundär nycklar och utlösare.Migrate the database schemas without foreign keys and triggers.
  • Skapa ett virtuellt nätverk som ansluter via ExpressRoute eller VPN till ditt lokala nätverk.Create a virtual network that connects via ExpressRoute or a VPN to your on-premises network.

  • Skapa en Azure Database Migration Service-instans med en Premium SKU som är ansluten till det virtuella nätverket.Create an Azure Database Migration Service instance with a Premium SKU that's connected to the virtual network.

  • Se till att instansen kan komma åt MySQL-databasen via det virtuella nätverket.Ensure that the instance can access the MySQL database via the virtual network. Se till att alla inkommande portar är tillåtna från Azure till MySQL på den virtuella nätverks nivån, nätverks-VPN och den dator som är värd för 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.

  • Skapa ett nytt Database Migration Service-projekt:Create a new Database Migration Service project:

    Skärm bild som visar hur du skapar ett nytt Database Migration Service projekt bild 3: ett Azure Database migration service projekt.Screenshot shows how to create a new Database Migration Service project Figure 3: An Azure Database Migration Service project.

Migrering med hjälp av inbyggda verktygMigration by using native tools

Som ett alternativ till att använda Azure Database Migration Service kan Contoso använda vanliga verktyg och verktyg som MySQL Workbench, mysqldump, TOAD eller Navicat för att ansluta till och migrera data till 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.

  • Dumpa och Återställ med mysqldump:Dump and restore with mysqldump:
    • Använd alternativet exkludera-utlösare i mysqldump för att förhindra att Utlösare körs under importen och förbättra prestandan.Use the exclude-triggers option in mysqldump to prevent triggers from executing during import and improve performance.
    • Använd alternativet för enskild transaktion för att ange översättnings isolerings läget till REPEATABLE READ och skicka ett START TRANSACTION SQL-uttryck innan du dumpar data.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.
    • Använd alternativet Disable-Keys i mysqldump för att inaktivera begränsningar för sekundär nyckel före belastningen.Use the disable-keys option in mysqldump to disable foreign key constraints before load. Att ta bort begränsningar ger prestanda vinster.Removing constraints provides performance gains.
    • Använd Azure Blob Storage för att lagra säkerhetskopieringsfilerna och utföra återställningen därifrån för snabbare återställning.Use Azure Blob storage to store the backup files and perform the restore from there for faster restore.
    • Uppdatera program anslutnings strängar.Update application connection strings.
    • När databasen har migrerats måste contoso uppdatera anslutnings strängarna så att de pekar på den nya Azure Database for MySQL.After the database is migrated, Contoso must update the connection strings to point to the new Azure Database for MySQL.

Rensa efter migreringClean up after migration

Efter migreringen måste contoso säkerhetskopiera den lokala databasen för kvarhållning och dra tillbaka den lokala MySQL-databasservern.After migration, Contoso needs to back up the on-premises database for retention purposes and retire the on-premises MySQL database server.

Granska distributionenReview the deployment

Med de migrerade resurserna i Azure måste Contoso operationalisera och skydda den nya infrastrukturen.With the migrated resources in Azure, Contoso needs to fully operationalize and secure its new infrastructure.

SäkerhetSecurity

Contoso måste:Contoso needs to:

  • Se till att dess nya Azure Database for MySQL-instans och databaser är säkra.Ensure that its new Azure Database for MySQL instance and databases are secure. Mer information finns i säkerhet i Azure Database for MySQL.For more information, see Security in Azure Database for MySQL.
  • Granska brand väggen och de virtuella nätverks konfigurationerna.Review the firewall and virtual network configurations.
  • Konfigurera en privat länk så att all databas trafik hålls i Azure och det lokala nätverket.Set up Private Link so that all database traffic is kept inside Azure and the on-premises network.
  • Aktivera Azure Advanced Threat Protection.Enable Azure Advanced Threat Protection.

SäkerhetskopiorBackups

Se till att de Azure Database for MySQL instanserna säkerhets kopie ras med geo-återställning, så att säkerhets kopior kan användas i en kopplad region om ett regionalt avbrott inträffar.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.

Viktigt

Kontrol lera att den Azure Database for MySQL resursen har ett resurs lås för att förhindra att den tas bort.Ensure that the Azure Database for MySQL resource has a resource lock to prevent it from being deleted. Det går inte att återställa borttagna servrar.Deleted servers can't be restored.

Licensierings- och kostnadsoptimeringLicensing and cost optimization

  • Azure Database for MySQL kan skalas upp eller ned.Azure Database for MySQL can be scaled up or down. Övervakning av serverns och databasernas prestanda är viktigt för att se till att kraven uppfylls samtidigt som kostnaderna minimeras.Monitoring the performance of the server and databases is important to ensure your requirements are met while minimizing costs.
  • Både processor och lagring har kostnader som är kopplade till varandra.Both CPU and storage have costs associated. Det finns flera pris nivåer.Several pricing tiers are available. Se till att du har valt rätt pris plan för varje data arbets belastning.Be sure the appropriate pricing plan is selected for each data workload.
  • Varje Läs replik faktureras baserat på den beräkning och lagring som valts.Each read replica is billed based on the compute and storage selected.
  • Använd reserverad kapacitet för att spara pengar.Use reserved capacity to save on costs.

SlutsatsConclusion

I den här artikeln migrerade contoso sina MySQL-databaser till en Azure Database for MySQL-instans.In this article, Contoso migrated its MySQL databases to an Azure Database for MySQL instance.