Migrera Amazon RDS for MySQL till Azure Database for MySQL mySQL Workbench
GÄLLER FÖR:
Azure Database for MySQL – enskild server
Du kan använda olika verktyg, till exempel MySQL Workbench Export/Import, Azure Database Migration Service (DMS) och MySQL dump och restore, för att migrera Amazon RDS for MySQL till Azure Database for MySQL. Att använda migreringsguiden för MySQL Workbench är dock ett enkelt och praktiskt sätt att flytta dina Amazon RDS for MySQL-databaser till Azure Database for MySQL.
Med migreringsguiden kan du enkelt välja vilka scheman och objekt som ska migreras. Du kan också visa serverloggar för att identifiera fel och flaskhalsar i realtid. Därför kan du redigera och ändra tabeller eller databasstrukturer och objekt under migreringsprocessen när ett fel upptäcks och sedan återuppta migreringen utan att behöva starta om från början.
Anteckning
Du kan också använda migreringsguiden för att migrera andra källor, till exempel Microsoft SQL Server, Oracle, PostgreSQL, MariaDB osv., som ligger utanför omfånget för den här artikeln.
Förutsättningar
Innan du startar migreringsprocessen rekommenderar vi att du ser till att flera parametrar och funktioner konfigureras och konfigureras korrekt, enligt beskrivningen nedan.
Kontrollera att teckenuppsättningen för käll- och måldatabaserna är densamma.
Ange väntetiden till en rimlig tid beroende på mängden data eller arbetsbelastning som du vill importera eller migrera.
Ange till
max_allowed_packet parameteren rimlig mängd beroende på storleken på den databas som du vill importera eller migrera.Kontrollera att alla dina tabeller använder InnoDB eftersom Azure Database for MySQL Server endast stöder InnoDB-Storage motorn.
Ta bort, ersätta eller ändra alla utlösare, lagrade procedurer och andra funktioner som innehåller rotanvändar- eller superanvändar definierare (Azure Database for MySQL stöder inte superanvändarprivilegier). Om du vill ersätta definierarna med namnet på den administratörsanvändare som kör importprocessen kör du följande kommando:
DELIMITER; ;/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`127.0.0.1`*/ /*!50003 DELIMITER; /* Modified to */ DELIMITER; /*!50003 CREATE*//*!50017 DEFINER=`AdminUserName`@`ServerName`*/ /*!50003 DELIMITER;Om användardefinierade funktioner (användardefinierade funktioner) körs på databasservern måste du ta bort behörigheten för mysql-databasen. Använd följande fråga för att avgöra om några UDF:er körs på servern:
SELECT * FROM mysql.func;Om du upptäcker att UDF:er körs kan du ta bort de uttråda filarna med hjälp av följande fråga:
DROP FUNCTION your_UDFunction;Kontrollera att servern där verktyget körs och slutligen exportplatsen har gott om diskutrymme och beräkningskraft (virtuella kärnor, CPU och minne) för att utföra exportåtgärden, särskilt när du exporterar en mycket stor databas.
Skapa en sökväg mellan den lokala instansen eller AWS-Azure Database for MySQL om arbetsbelastningen ligger bakom brandväggar eller andra nätverkssäkerhetslager.
Påbörja migreringsprocessen
Starta migreringsprocessen genom att logga in på MySQL Workbench och sedan välja startikonen.
I det vänstra navigeringsfältet väljer du ikonen migreringsguide, som du ser i skärmbilden nedan.
Sidan Översikt i migreringsguiden visas enligt nedan.
Kontrollera om du har en ODBC-drivrutin för MySQL Server installerad genom att välja Öppna ODBC-administratör.
I vårt fall ser du på fliken Drivrutiner att det redan finns två MySQL Server ODBC-drivrutiner installerade.
Om en MySQL ODBC-drivrutin inte är installerad använder du Det MySQL-installationsprogram som du använde för att installera MySQL Workbench för att installera drivrutinen. Mer information om installation av MySQL ODBC-drivrutinen finns i följande resurser:
Stäng dialogrutan Administratör för ODBC-datakälla och fortsätt sedan med migreringsprocessen.
Konfigurera anslutningsparametrar för källdatabasservern
På sidan Översikt väljer du Starta migrering.
Sidan Val av källa visas. Använd den här sidan för att ange information om RDBMS som du migrerar från och parametrarna för anslutningen.
I fältet Databassystem väljer du MySQL.
I fältet Lagrad anslutning väljer du en av de sparade anslutningsinställningarna för rdbms.
Du kan spara anslutningar genom att markera kryssrutan längst ned på sidan och ange ett namn som du föredrar.
I fältet Anslutningsmetod väljer du Standard TCP/IP.
I fältet Värdnamn anger du namnet på källdatabasservern.
I fältet Port anger du 3306 och anger sedan användarnamn och lösenord för att ansluta till servern.
I fältet Databas anger du namnet på den databas som du vill migrera om du känner till den. lämna annars det här fältet tomt.
Välj Testa anslutning för att kontrollera anslutningen till MySQL Server-instansen.
Om du har angett rätt parametrar visas ett meddelande som anger ett lyckat anslutningsförsök.
Välj Nästa.
Konfigurera anslutningsparametrar för måldatabasservern
På sidan Val av mål anger du parametrarna för att ansluta till mySQL-målserverinstansen med en process som liknar den för att konfigurera anslutningen till källservern.
Om du vill verifiera en lyckad anslutning väljer du Testa anslutning.
Välj Nästa.
Välj de scheman som ska migreras
Migreringsguiden kommunicerar med din MySQL Server-instans och hämtar en lista över scheman från källservern.
Välj Visa loggar för att visa den här åtgärden.
Skärmbilden nedan visar hur scheman hämtas från källdatabasservern.
Välj Nästa för att kontrollera att alla scheman har hämtats.
Skärmbilden nedan visar listan över hämtade scheman.
Du kan bara migrera scheman som visas i den här listan.
Välj de scheman som du vill migrera och välj sedan Nästa.
Migrering av objekt
Ange sedan de objekt som du vill migrera.
Välj Visa markering och sedan under Tillgängliga objekt markerar du och lägger till de objekt som du vill migrera.
När du har lagt till objekten visas de under Objekt att migrera, som du ser i skärmbilden nedan.
I det här scenariot har vi valt alla tabellobjekt.
Välj Nästa.
Redigera data
I det här avsnittet har du möjlighet att redigera de objekt som du vill migrera.
På sidan Manuell redigering ser du listrutan Visa i det övre högra hörnet.
Listrutan Visa innehåller tre objekt:
- Alla objekt – Visar alla objekt. Med det här alternativet kan du manuellt redigera SQL innan du tillämpar dem på måldatabasservern. Det gör du genom att markera objektet och välja Visa kod och meddelanden. Du kan se (och redigera!) den genererade MySQL-kod som motsvarar det valda objektet.
- Migreringsproblem – Visar eventuella problem som uppstod under migreringen, som du kan granska och verifiera.
- Kolumnmappning – Visar information om kolumnmappning. Du kan använda den här vyn för att redigera namnet och ändra kolumn för målobjektet.
Välj Nästa.
Skapa måldatabasen
Markera kryssrutan Skapa schema i mål-RDBMS.
Du kan också välja att behålla befintliga scheman så att de inte ändras eller uppdateras.
I den här artikeln har vi valt att skapa schemat i MÅL-RDBMS, men du kan också markera kryssrutan Skapa en SQL-skriptfil för att spara filen på din lokala dator eller för andra ändamål.
Välj Nästa.
Kör MySQL-skriptet för att skapa databasobjekten
Eftersom vi har valt att skapa schema i MÅLET RDBMS körs det migrerade SQL-skriptet på MySQL-målservern. Du kan visa förloppet enligt skärmbilden nedan:
När scheman och objekten har skapats väljer du Nästa.
På sidan Skapa målresultat visas en lista över de objekt som skapats och meddelanden om eventuella fel som påträffades när de skapades, enligt följande skärmbild.
Granska informationen på den här sidan för att kontrollera att allt har slutförts som avsett.
I den här artikeln har vi inga fel. Om du inte behöver åtgärda felmeddelanden kan du redigera migreringsskriptet.
I rutan Objekt väljer du det objekt som du vill redigera.
Under SQL SKAPA skript för det valda objektet ändrar du SQL och väljer sedan Tillämpa för att spara ändringarna.
Välj Återskapa objekt för att köra skriptet, inklusive dina ändringar.
Om skriptet misslyckas kan du behöva redigera det genererade skriptet. Du kan sedan åtgärda skriptet SQL manuellt och köra allt igen. I den här artikeln ändrar vi inte något, så vi lämnar skriptet som det är.
Välj Nästa.
Överföra data
Den här delen av processen flyttar data från MySQL Server-källdatabasinstansen till din nyligen skapade MySQL-måldatabasinstans. Använd sidan Konfiguration av dataöverföring för att konfigurera den här processen.
Den här sidan innehåller alternativ för att konfigurera dataöverföringen. I den här artikeln accepterar vi standardvärdena.
Om du vill påbörja den faktiska processen för att överföra data väljer du Nästa.
Förloppet för dataöverföringsprocessen visas enligt följande skärmbild.
Anteckning
Dataöverföringsprocessens varaktighet är direkt relaterad till storleken på den databas som du migrerar. Ju större källdatabas, desto längre tid tar processen, potentiellt upp till några timmar för större databaser.
När överföringen är klar väljer du Nästa.
Sidan Migreringsrapport visas med en rapport som sammanfattar hela processen, enligt skärmbilden nedan:
Välj Slutför för att stänga migreringsguiden.
Migreringen har nu slutförts.
Kontrollera konsekvensen för migrerade scheman och tabeller
Logga sedan in på MySQL-måldatabasinstansen för att verifiera att de migrerade schemana och tabellerna stämmer överens med din MySQL-källdatabas.
I vårt fall kan du se att alla scheman (sakila, moda, objekt, kund, kläder, värld och world_x) från Amazon RDS for MySQL: MyieDB-databasen har migrerats till Azure Database for MySQL: azmysql-instansen.
Kontrollera antalet tabeller och rader genom att köra följande fråga på båda instanserna:
SELECT COUNT (*) FROM sakila.actor;I skärmbilden nedan ser du att radantalet för Amazon RDS MySQL är 200, vilket matchar Azure Database for MySQL instansen.
Du kan köra ovanstående fråga på varje schema och tabell, men det blir ganska mycket arbete om du hanterar hundratusentals eller till och med miljontals tabeller. Du kan använda frågorna nedan för att verifiera schemat (databasen) och tabellstorleken i stället.
Kontrollera databasens storlek genom att köra följande fråga:
SELECT table_schema AS "Database", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema;Kontrollera tabellstorleken genom att köra följande fråga:
SELECT table_name AS "Table", ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)" FROM information_schema.TABLES WHERE table_schema = "database_name" ORDER BY (data_length + index_length) DESC;I skärmbilderna nedan ser du att schemastorleken (databasen) från Amazon RDS MySQL-källinstansen är samma som för Azure Database for MySQL instansen.
Eftersom schemastorlekarna (databasen) är desamma i båda instanserna är det egentligen inte nödvändigt att kontrollera enskilda tabellstorlekar. I vilket fall som helst kan du alltid använda ovanstående fråga för att kontrollera tabellstorlekarna efter behov.
Nu har du bekräftat att migreringen har slutförts.
Nästa steg
- Mer information om hur du migrerar databaser till Azure Database for MySQL finns i Databasmigreringsguide.
- Visa videon Migrera enkelt MySQL/PostgreSQL-appartill Azure Managed Service , som innehåller en demonstration som visar hur du migrerar MySQL-appar till Azure Database for MySQL.