Uw MariaDB-database migreren naar een Azure-database for MariaDB met behulp van dump en restore

Belangrijk

Azure Database for MariaDB bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan om te migreren naar Azure Database for MySQL. Zie Wat gebeurt er met Azure Database for MariaDB voor meer informatie over migreren naar Azure Database for MySQL.

In dit artikel worden twee veelvoorkomende manieren uitgelegd om back-ups te maken van databases en deze te herstellen in uw Azure Database for MariaDB:

  • Dumpen en herstellen met behulp van een opdrachtregelprogramma (met behulp van mysqldump).
  • Dumpen en herstellen met phpMy Beheer.

Vereisten

Voordat u begint met het migreren van uw database, gaat u als volgt te werk:

Veelgebruikte hulpprogramma's gebruiken

Gebruik veelgebruikte hulpprogramma's en hulpprogramma's zoals MySQL Workbench of mysqldump om op afstand verbinding te maken en gegevens te herstellen in uw Azure-database voor MariaDB. Gebruik deze hulpprogramma's op uw clientcomputer met een internetverbinding om verbinding te maken met de Azure-database voor MariaDB. Gebruik een met SSL versleutelde verbinding als best practice voor beveiliging. Zie SSL-connectiviteit configureren in Azure Database for MariaDB voor meer informatie. U hoeft de dumpbestanden niet naar een speciale cloudlocatie te verplaatsen wanneer u gegevens migreert naar uw Azure-database voor MariaDB.

Veelvoorkomende toepassingen voor dump en herstel

U kunt MySQL-hulpprogramma's zoals mysqldump en mysqlpump gebruiken om databases in een Azure-database voor MariaDB-server te dumpen en laden in verschillende veelvoorkomende scenario's.

  • Gebruik databasedumps wanneer u een hele database migreert. Deze aanbeveling geldt wanneer u een grote hoeveelheid gegevens verplaatst of wanneer u de serviceonderbreking voor livesites of toepassingen wilt minimaliseren.

  • Zorg ervoor dat alle tabellen in de database de InnoDB-opslagengine gebruiken wanneer u gegevens in uw Azure-database voor MariaDB laadt. Azure Database for MariaDB ondersteunt alleen de InnoDB-opslagengine en geen andere opslagengines. Als uw tabellen zijn geconfigureerd met andere opslagengines, converteert u deze naar de Indeling van de InnoDB-engine voordat u ze migreert naar uw Azure-database voor MariaDB.

    Als u bijvoorbeeld een WordPress-app of een web-app hebt die gebruikmaakt van MyISAM-tabellen, moet u deze tabellen eerst converteren door ze te migreren naar de InnoDB-indeling voordat u ze herstelt naar uw Azure-database voor MariaDB. Gebruik de component ENGINE=InnoDB om de engine in te stellen voor het maken van een nieuwe tabel en de gegevens vervolgens over te dragen naar de compatibele tabel voordat u deze herstelt.

    INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columns
    
  • Als u compatibiliteitsproblemen wilt voorkomen wanneer u databases dumpt, moet u ervoor zorgen dat u dezelfde versie van MariaDB gebruikt op de bron- en doelsystemen. Als uw bestaande MariaDB-server bijvoorbeeld versie 10.2 is, moet u migreren naar uw Azure-database voor MariaDB die is geconfigureerd om versie 10.2 uit te voeren. De mysql_upgrade opdracht werkt niet in een Azure Database for MariaDB-server en wordt niet ondersteund. Als u een upgrade wilt uitvoeren tussen MariaDB-versies, moet u eerst uw database met eerdere versies dumpen of exporteren naar een latere versie van MariaDB in uw eigen omgeving. U kunt vervolgens uitvoeren mysql_upgrade voordat u migreert naar uw Azure-database voor MariaDB.

Prestatieoverwegingen

Houd rekening met de volgende overwegingen om de prestaties te optimaliseren wanneer u grote databases dumpt:

  • Gebruik de exclude-triggers optie in mysqldump. Sluit triggers uit van dumpbestanden om te voorkomen dat de triggeropdrachten worden geactiveerd tijdens het herstellen van gegevens.
  • Gebruik de single-transaction optie om de transactieisolatiemodus in te stellen op HERHAALBAAR LEZEN en een SQL-instructie START TRANSACTION SQL naar de server te verzenden voordat gegevens worden gedumpt. Als u veel tabellen binnen één transactie dumpt, wordt er extra opslagruimte verbruikt tijdens het herstellen. De single-transaction optie en de lock-tables optie sluiten elkaar wederzijds uit. Dit komt doordat LOCK TABLES ervoor zorgt dat transacties die in behandeling zijn impliciet worden doorgevoerd. Als u grote tabellen wilt dumpen, combineert u de single-transaction optie met de quick optie.
  • Gebruik de extended-insert syntaxis van meerdere rijen die meerdere WAARDEN-lijsten bevat. Deze methode resulteert in een kleiner dumpbestand en versnelt invoegen wanneer het bestand opnieuw wordt geladen.
  • Gebruik de order-by-primary optie in mysqldump wanneer u databases dumpt, zodat de gegevens worden gescript in de primaire-sleutelvolgorde.
  • Gebruik de disable-keys optie in mysqldump wanneer u gegevens dumpt om beperkingen voor refererende sleutels vóór de belasting uit te schakelen. Het uitschakelen van refererende sleutelcontroles helpt de prestaties te verbeteren. Schakel de beperkingen in en controleer de gegevens na de belasting om referentiële integriteit te garanderen.
  • Gebruik gepartitioneerde tabellen indien van toepassing.
  • Laad gegevens parallel. Vermijd te veel parallelle uitvoering, waardoor u een resourcelimiet kunt bereiken en resources kunt bewaken met behulp van de metrische gegevens die beschikbaar zijn in Azure Portal.
  • Gebruik de defer-table-indexes optie in mysqlpump wanneer u databases dumpt, zodat het maken van de index plaatsvindt nadat tabelgegevens zijn geladen.
  • Kopieer de back-upbestanden naar een Azure Blob-archief en voer de herstelbewerking daar uit. Deze aanpak moet veel sneller zijn dan het uitvoeren van de herstelbewerking via internet.

Een back-upbestand maken

Als u een back-up wilt maken van een bestaande MariaDB-database op de lokale on-premises server of op een virtuele machine, voert u de volgende opdracht uit met behulp van mysqldump:

mysqldump --opt -u <uname> -p<pass> <dbname> > <backupfile.sql>

De parameters die moeten worden opgegeven, zijn:

  • <uname>: de gebruikersnaam van uw database
  • <pass>: Het wachtwoord voor uw database (houd er rekening mee dat er geen ruimte is tussen -p en het wachtwoord)
  • <dbname>: de naam van uw database
  • <backupfile.sql>: de bestandsnaam voor uw databaseback-up
  • <--opt>: de optie mysqldump

Als u bijvoorbeeld een back-up wilt maken van een database met de naam testdb op uw MariaDB-server met de gebruikersnaamtestuser en zonder wachtwoord voor een bestand testdb_backup.sql, gebruikt u de volgende opdracht. De opdracht maakt een back-up van de database in een bestand met de testdb naam testdb_backup.sql, dat alle SQL-instructies bevat die nodig zijn om de database opnieuw te maken.

mysqldump -u root -p testdb > testdb_backup.sql

Als u specifieke tabellen wilt selecteren waarvan u een back-up wilt maken in uw database, vermeldt u de tabelnamen, gescheiden door spaties. Als u bijvoorbeeld alleen een back-up wilt maken van tabel1- en tabel2-tabellen uit de testdb, volgt u dit voorbeeld:

mysqldump -u root -p testdb table1 table2 > testdb_tables_backup.sql

Als u een back-up wilt maken van meer dan één database tegelijk, gebruikt u de schakeloptie --database en maakt u een lijst van de databasenamen, gescheiden door spaties.

mysqldump -u root -p --databases testdb1 testdb3 testdb5 > testdb135_backup.sql

Een database maken op de doelserver

Maak een lege database op de Azure Database for MariaDB-doelserver waar u de gegevens wilt migreren. Gebruik een hulpprogramma zoals MySQL Workbench om de database te maken. De database kan dezelfde naam hebben als de database die de gedumpte gegevens bevat, of u kunt een database met een andere naam maken.

Als u verbinding wilt maken, zoekt u de verbindingsgegevens in het deelvenster Overzicht van uw Azure-database voor MariaDB.

Screenshot of the Overview pane for an Azure database for MariaDB server in the Azure portal.

Voeg in MySQL Workbench de verbindingsgegevens toe.

Screenshot of the MySQL Connections pane in MySQL Workbench.

Uw MariaDB-database herstellen

Nadat u de doeldatabase hebt gemaakt, kunt u de mysql-opdracht of MySQL Workbench gebruiken om de gegevens te herstellen in de zojuist gemaakte database vanuit het dumpbestand.

mysql -h <hostname> -u <uname> -p<pass> <db_to_restore> < <backupfile.sql>

In dit voorbeeld herstelt u de gegevens in de zojuist gemaakte database op de Azure Database for MariaDB-doelserver.

mysql -h mydemoserver.mariadb.database.azure.com -u myadmin@mydemoserver -p testdb < testdb_backup.sql

Exporteer uw MariaDB-database met phpMy Beheer

Als u wilt exporteren, kunt u het algemene hulpprogramma phpMy Beheer gebruiken, dat mogelijk al lokaal in uw omgeving is geïnstalleerd. Ga als volgt te werk om uw MariaDB-database te exporteren:

  1. Open phpMy Beheer.
  2. Selecteer uw database in het linkerdeelvenster en selecteer vervolgens de koppeling Exporteren . Er wordt een nieuwe pagina weergegeven om de dump van de database weer te geven.
  3. Selecteer in het gebied Exporteren de koppeling Alles selecteren om de tabellen in uw database te kiezen.
  4. Selecteer de juiste opties in het gebied met SQL-opties .
  5. Selecteer de optie Opslaan als en de bijbehorende compressieoptie en selecteer vervolgens Go. Sla het bestand lokaal op bij de prompt.

Importeer uw database met phpMy Beheer

Het importproces is vergelijkbaar met het exportproces. Ga als volgt te werk:

  1. Open phpMy Beheer.
  2. Selecteer op de pagina phpMy Beheer setup de optie Toevoegen om uw Azure Database for MariaDB-server toe te voegen.
  3. Voer de verbindingsgegevens en aanmeldingsgegevens in.
  4. Maak een database met de juiste naam en selecteer deze vervolgens in het linkerdeelvenster. Als u de bestaande database wilt herschrijven, selecteert u de databasenaam, schakelt u alle selectievakjes naast de tabelnamen in en selecteert u Neerzetten om de bestaande tabellen te verwijderen.
  5. Selecteer de SQL-koppeling om de pagina weer te geven waar u SQL-opdrachten kunt invoeren of uw SQL-bestand kunt uploaden.
  6. Selecteer de bladerknop om het databasebestand te zoeken.
  7. Selecteer de knop Start om de back-up te exporteren, de SQL-opdrachten uit te voeren en de database opnieuw te maken.

Volgende stappen