Migrera lokal MySQL-databas till Azure
När ett företag har bestämt sig för att flytta till Azure Database for MySQL är nästa steg att planera hur man migrerar lokala databaser och väljer verktygen för att flytta sina data.
Efter att ha utforskat hur Azure Database for MySQL stöder och skalar MySQL i Azure vill du nu fundera på hur du ska migrera dina befintliga lokala databaser.
I den här lektionen får du se hur du skapar en instans av Tjänsten Azure Database for MySQL med hjälp av Azure Portal. Om du behöver skapa många instanser av den här tjänsten kan du skripta processen med hjälp av Azure CLI.
Skapa en Azure Database for MySQL med hjälp av portalen
I Azure Portal väljer du kommandot Databaser på Azure Marketplace och väljer Azure Database for MySQL.
Ange information för tjänsten. Dessa kan vara:
- Servernamn. Detta måste vara ett unikt namn mellan 3 och 63 tecken, som endast innehåller gemener, siffror och bindestreck.
- Datakälla. Om du skapar en ny server i migreringssyfte väljer du Ingen. Med alternativet Säkerhetskopiering kan du återställa en säkerhetskopia från en annan instans av Azure Database for MySQL till den här tjänsten.
- Användarnamn för administratör. Det här är namnet på ett användarkonto som skapas med administratörsbehörighet. Azure skapar vissa konton för eget bruk och andra namn är begränsade. Du kan inte använda azure_superuser, administratör, administratör, rot, gäst eller offentlig.
- Lösenord. Detta måste vara mellan 8 och 128 tecken. Den bör innehålla en blandning av versaler och gemener, siffror och icke-numeriska tecken. Azure Database for MySQL stöder för närvarande endast lösenordsautentisering. integrering med Microsoft Entra ID är inte tillgängligt ännu.
- Version. Välj den version som motsvarar den lokala databas som du migrerar.
- Beräkning och lagring. Välj Konfigurera server för att ange prisnivån och ange de resurser som du behöver för tjänsten. Alternativen beskrevs i lektion 1. Kom ihåg att om du väljer prisnivåerna Generell användning eller Minnesoptimerad skalar du upp och ned antalet virtuella processorkärnor senare. Du kan dock inte minska mängden lagringsutrymme. det kan bara öka när servern har skapats.
Välj Granska + Skapa för att distribuera tjänsten. Distributionen tar flera minuter.
När tjänsten har distribuerats väljer du alternativet Anslutningssäkerhet och lägger till lämpliga brandväggsregler så att klienter kan ansluta, enligt beskrivningen i avsnittet Klientanslutning i lektion 1. Du måste också välja alternativet Tillåt åtkomst till Azure-tjänster .
Skapa en Azure Database for MySQL-instans med hjälp av Azure CLI
Du skapar en instans av Azure Database for MySQL med kommandot az mysql server create
. Instruktionen nedan visar ett exempel som skapar en MySQL-instans. De flesta parametrarna är självförklarande, förutom följande:
- sku-name. Du skapar detta från en kombination av prisnivån (B för Basic, GP för Generell användning och MO för minnesoptimerad), beräkningsgenereringen (Gen4 eller Gen5) och antalet virtuella CPU-kärnor. I exemplet nedan skapas servern med hjälp av prisnivån Generell användning, med fyra processorkärnor i Gen5-generationen.
- lagringsstorlek. Det här är mängden disklagring som krävs, som anges i megabyte. Exemplet nedan allokerar 10 gigabyte.
az mysql server create \
--name contoso-MySQL-server \
--resource-group MySQLrg \
--admin-user contosoadmin \
--admin-password 7Hh7*ku5k$$£jhk \
--sku-name GP_Gen5_4 \
--storage-size 10240
Utföra offlinemigrering
En offlinemigrering tar en ögonblicksbild av källdatabasen vid en viss tidpunkt och kopierar dessa data till måldatabasen. Ändringar som görs i källdata när ögonblicksbilden har tagits återspeglas inte i måldatabasen.
Du har minst två alternativ om du vill utföra en offlinemigrering till Azure Database for MySQL:
Exportera och importera
Du kan exportera en databas från MySQL och importera den till Azure Database for MySQL med hjälp av verktyg som MySQL Workbench. Detta är användbart i ett antal scenarier:
- Du vill välja vilka tabeller som ska importeras.
- Du vill välja vilka databasobjekt som ska exporteras och importeras, inklusive vyer, lagrade procedurer, begränsningar och funktioner.
- Du vill också migrera data från andra källor. Du måste till exempel lägga till data från textfiler och använda mysqlimport för att lägga till dessa som tabeller i databasen.
Du kan exportera och importera med MySQL Workbench. På servermenyn väljer du Dataexport eller Dataimport.
Kommentar
Du kan också använda mysqldump för att exportera specifika tabeller genom att ange deras namn efter databasnamnet.
Mer information finns i Migrera din MySQL-databas med hjälp av import och export.
Dumpa och återställa
Använd dump och återställning när du vill flytta hela databasen effektivt.
Det finns ett antal saker att tänka på när du använder dump och återställning:
- Förhindra utlösare som utlöses under återställningen med hjälp av alternativet exkluderingsutlösare .
- Dumpa hela databasen i en enda transaktion med alternativet enkel transaktion .
- Inaktivera begränsningar för sekundärnyckel som utlöser under processen med alternativet inaktivera nycklar .
- Skjut upp skapande av index tills återställningen har slutförts med alternativet skjut upp tabellindex .
Mer information om mysqldump finns i mysqldump – ett program för databassäkerhetskopiering.
Kommentar
Du använder också mysqldump för att exportera specifika tabeller genom att visa deras namn efter databasnamnet.
Azure Database Migration Service (DMS)
Förutom offlinemigreringar till Azure Database for MySQL stöder DMS migreringar mellan regioner, flera resurser och migreringar mellan prenumerationer, så att du kan välja en region, resursgrupp och prenumeration för målservern som skiljer sig från vad som anges för källservern.
Migrera med hjälp av dump och återställning
Utför följande steg för att migrera en databas med hjälp av dump- och återställningsmetoden.
Exportera data till en annan fil med kommandot mysqldump:
mysqldump -h [host name] -u [username] -p[password] [database name] > db_data.sql
I det här läget är db_data.sql ett SQL-skript som du ändrar med hjälp av en textredigerare.
Skapa måldatabasen i Azure Database for MySQL. Det gör du med Azure CLI:
az mysql db create \ --name [database name] \ --server-name [server name] \ --resource-group [azure resource group]
Importera data till måldatabasen med kommandot mysql:
mysql -h [host name] -u [username] -p[password] [database name] < db_data.sql
Utföra onlinemigrering
DMS stöder även onlinemigrering till Azure Database for MySQL. För onlinemigreringen rekommenderar vi att du väljer Generell användning 16 virtuella kärnor för den flexibla målservern för snabbare migreringar. Skala tillbaka till önskad beräkningsstorlek för målservern när migreringen är klar, baserat på informationen i följande tabell.
Prisnivå för enskild server | Virtuella kärnor för enskild server | Beräkningsstorlek för flexibel server | Beräkningsnivå för flexibel server |
---|---|---|---|
Grundläggande | 1 | Burstbar | Standard_B1s |
Grundläggande | 2 | Burstbar | Standard_B2s |
Generell användning | 4 | Generell användning | Standard_D4ds_v4 |
Generell användning | 8 | Generell användning | Standard_D8ds_v4 |
Mer information om onlinemigrering till Azure Database for MySQL finns i Självstudie: Migrera Azure Database for MySQL – enskild server till flexibel server online med DMS via Azure Portal.