Introductie
Het importeren en exporteren van databases is een veelvoorkomende taak in softwareontwikkeling. U kunt gegevensdumps gebruiken om uw informatie te back-uppen en te herstellen. U kunt ze ook gebruiken om gegevens naar een nieuwe server of ontwikkelingsomgeving te migreren.
In deze zelfstudie zult u werken met databasedumps in MySQL of MariaDB (de commando’s zijn uitwisselbaar). U zult specifiek een database exporteren en vervolgens die database importeren vanuit het dumpbestand.
1-Click implementeer een database met DigitalOcean Managed Databases. Laat DigitalOcean zich richten op het schalen, onderhouden en upgraden van uw database.
Vereisten
Om een MySQL- of MariaDB-database te importeren of exporteren, heeft u nodig:
- A virtual machine with a non-root sudo user. If you need a server, go here to create a DigitalOcean Droplet running your favorite Linux distribution. After creation, choose your distribution from this list and follow our Initial Server Setup Guide.
- MySQL of MariaDB geïnstalleerd. Volg onze zelfstudie Hoe MySQL te installeren om MySQL te installeren. Volg onze zelfstudie Hoe MariaDB te installeren om MariaDB te installeren.
- A sample database created in your database server. To create one, follow “Creating a Sample Database” in our tutorial, “An Introduction to Queries in MySQL”.
Opmerking: Als alternatief voor handmatige installatie kunt u de MySQL One-Click-toepassing van de DigitalOcean Marketplace verkennen.
Stap 1 — Exporteren van een MySQL- of MariaDB-database
De consolehulpprogramma mysqldump
exporteert databases naar SQL-tekstbestanden. Hierdoor is het eenvoudiger om databases over te dragen en te verplaatsen. U heeft de naam en inloggegevens van uw database nodig van een account waarvan de privileges minimaal volledige lees-toegang tot de database toestaan.
Gebruik mysqldump
om uw database te exporteren:
gebruikersnaam
is de gebruikersnaam waarmee u kunt inloggen op de databasedatabasenaam
is de naam van de te exporteren databasedata-dump.sql
is het bestand in de huidige map dat de uitvoer opslaat.
De opdracht geeft geen visuele uitvoer, maar u kunt de inhoud van data-dump.sql
controleren om te controleren of het een legitiem SQL-dumpbestand is.
Voer de volgende opdracht uit:
Het begin van het bestand zou er ongeveer zo uit moeten zien, met een MySQL-dump voor een database genaamd databasenaam
.
SQL dump fragment-- MySQL dump 10.13 Distrib 5.7.16, for Linux (x86_64)
--
-- Host: localhost Database: databasenaam
-- ------------------------------------------------------
-- Serverversie 5.7.16-0ubuntu0.16.04.1
Als er tijdens het exportproces fouten optreden, zal mysqldump
deze naar het scherm afdrukken.
Stap 2 — Het importeren van een MySQL- of MariaDB-database
Om een bestaand dumpbestand in MySQL of MariaDB te importeren, moet je een nieuwe database aanmaken. Deze database zal de geïmporteerde gegevens bevatten.
Log eerst in op MySQL als root of een andere gebruiker met voldoende rechten om nieuwe databases aan te maken:
Met dit commando kom je in de MySQL-shell. Maak vervolgens een nieuwe database aan met het volgende commando. In dit voorbeeld heet de nieuwe database nieuwe_database
:
Je ziet deze uitvoer ter bevestiging van de databasecreatie.
OutputQuery OK, 1 row affected (0.00 sec)
Verlaat vervolgens de MySQL-shell door CTRL+D
in te drukken. Vanaf de normale commandoregel kun je het dumpbestand importeren met het volgende commando:
gebruikersnaam
is de gebruikersnaam waarmee je kunt inloggen op de databasenieuwedatabase
is de naam van de zojuist aangemaakte databasedata-dump.sql
is het te importeren gegevensdumpbestand, gelegen in de huidige directory
Als het commando succesvol wordt uitgevoerd, wordt er geen output geproduceerd. Als er tijdens het proces fouten optreden, zal mysql
deze in plaats daarvan naar het terminalvenster afdrukken. Om te controleren of de import succesvol was, logt u in op de MySQL-shell en inspecteert u de gegevens. Selecteer de nieuwe database met USE nieuwe_database
en gebruik vervolgens SHOW TABLES;
of een soortgelijk commando om enkele van de gegevens te bekijken.
Conclusie
In deze tutorial heeft u een database-export gemaakt vanuit een MySQL- of MariaDB-database. Vervolgens heeft u die gegevensexport geïmporteerd in een nieuwe database. mysqldump
heeft extra instellingen die u kunt gebruiken om te wijzigen hoe het systeem gegevensexporten maakt. U kunt meer leren van de officiële mysqldump-documentatiepagina.
Om meer te weten te komen over MySQL, bekijk onze MySQL bronnenpagina.
Om meer te weten te komen over MySQL-query’s, bekijk onze tutorial, “Een inleiding tot query’s in MySQL”.
De auteur heeft het Vrije en Open Source Fonds geselecteerd om een donatie te ontvangen als onderdeel van het Schrijf voor Donaties-programma.